X-Git-Url: http://git.maemo.org/git/?p=theonering;a=blobdiff_plain;f=src%2Ftelepathy-theonering;h=baf7dae0a80f601167d66a10a28d63bee8ac30bb;hp=6d6b5379239a5bbc9dcdf102073882a1d42a3e4a;hb=b14494d3d36e55d4a6c2cbd2e467e1686cbb8f7e;hpb=b2b59a3eebb396e5663a50ef639b148fd2ac9c99 diff --git a/src/telepathy-theonering b/src/telepathy-theonering index 6d6b537..baf7dae 100755 --- a/src/telepathy-theonering +++ b/src/telepathy-theonering @@ -1,97 +1,11 @@ -#!/usr/bin/env python +#!/usr/bin/python -""" -Telepathy-TheOneRing - Telepathy plugin for GoogleVoice -Copyright (C) 2009 Ed Page eopage AT byu DOT net - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library 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 -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -""" - -import os import sys -import signal -import logging -import gobject - -import dbus.glib -import telepathy.utils as telepathy_utils - -import util.linux as linux_utils -import util.go_utils as gobject_utils -import constants -import connection_manager - - -IDLE_TIMEOUT = 5000 - - -def run_theonering(persist): - linux_utils.set_process_name(constants.__app_name__) - - try: - os.makedirs(constants._data_path_) - except OSError, e: - if e.errno != 17: - raise - - @gobject_utils.async - def quit(): - manager.quit() - mainloop.quit() - - def timeout_cb(): - if len(manager._connections) == 0: - logging.info('No connection received - quitting') - quit() - return False - - if persist: - shutdown_callback = None - else: - gobject.timeout_add(IDLE_TIMEOUT, timeout_cb) - shutdown_callback = quit - - signal.signal(signal.SIGTERM, quit) - - try: - manager = connection_manager.TheOneRingConnectionManager(shutdown_func=shutdown_callback) - except dbus.exceptions.NameExistsException: - logging.warning('Failed to acquire bus name, connection manager already running?') - sys.exit(1) - - mainloop = gobject.MainLoop(is_running=True) +sys.path.insert(0, "/usr/lib/theonering") - while mainloop.is_running(): - try: - mainloop.run() - except KeyboardInterrupt: - quit() +import theonering -if __name__ == '__main__': - telepathy_utils.debug_divert_messages(os.getenv('THEONERING_LOGFILE')) - logging.basicConfig( - level=logging.DEBUG, - format='(%(asctime)s) %(levelname)s:%(name)s:%(message)s', - datefmt='%H:%M:%S', - ) - logging.info("telepathy-theonering %s-%s" % (constants.__version__, constants.__build__)) - logging.info("OS: %s" % (os.uname()[0], )) - logging.info("Kernel: %s (%s) for %s" % os.uname()[2:]) - logging.info("Hostname: %s" % os.uname()[1]) - persist = 'THEONERING_PERSIST' in os.environ - persist = True - run_theonering(persist) +if __name__ == "__main__": + theonering.main(logToFile=True)