%PDF- %PDF-
Direktori : /lib/software-properties/ |
Current File : //lib/software-properties/software-properties-dbus |
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # Copyright © 2010 Harald Sitter <apachelogger@ubuntu.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. import dbus import locale import logging import os import optparse import sys from gi.repository import GLib from softwareproperties.dbus.SoftwarePropertiesDBus import ( SoftwarePropertiesDBus, ) if __name__ == '__main__': if sys.getfilesystemencoding() == "ascii" and not "LANG" in os.environ: try: locale.setlocale(locale.LC_ALL, "C.UTF-8") os.putenv("LC_CTYPE", "C.UTF-8") except locale.Error: pass # parser parser = optparse.OptionParser() parser.add_option( '--debug', action='store_true', default=False, help="Enable debugging messages.") parser.add_option( '--datadir', default=None, help="Set alternative datadir (useful for debugging)") parser.add_option( '--session-bus', default=False, action="store_true", help="Run on the session bus (useful for testing)") (options, args) = parser.parse_args() if options.debug: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) # create the server dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) datadir=options.datadir if options.session_bus: bus = dbus.SessionBus() else: bus = dbus.SystemBus() server = SoftwarePropertiesDBus(bus, datadir=datadir) mainloop = GLib.MainLoop() mainloop.run()