dbus.ucleaner 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env python3
  2. from gi.repository import GLib
  3. import dbus
  4. import dbus.service
  5. import os
  6. from dbus.mainloop.glib import DBusGMainLoop
  7. DBusGMainLoop(set_as_default=True)
  8. OPATH = "/org/ucleaner"
  9. IFACE = "org.ucleaner"
  10. BUS_NAME = "org.dbus.ucleaner"
  11. class Ucleaner(dbus.service.Object):
  12. def __init__(self):
  13. bus = dbus.SystemBus()
  14. bus.request_name(BUS_NAME)
  15. bus_name = dbus.service.BusName(BUS_NAME, bus=bus)
  16. dbus.service.Object.__init__(self, bus_name, OPATH)
  17. @dbus.service.method(IFACE, out_signature='s')
  18. def clean_apt_cache(self):
  19. dir_name = "/var/cache/apt/archives"
  20. test_dir = os.listdir(dir_name)
  21. for item in test_dir:
  22. if item.endswith(".deb"):
  23. os.remove(os.path.join(dir_name, item))
  24. return ""
  25. @dbus.service.method(IFACE, out_signature='s')
  26. def clean_logs(self):
  27. os.system("/usr/bin/log-c.sh")
  28. return ""
  29. @dbus.service.method(IFACE, out_signature='s')
  30. def remove_unused_packages(self):
  31. os.system("apt-get purge autoremove -y")
  32. return ""
  33. if __name__ == "__main__":
  34. a = Ucleaner()
  35. loop = GLib.MainLoop()
  36. loop.run()