1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/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()
|