import os
import gc
import logging
+import logging.handlers
import ConfigParser
import gobject
import gtk
try:
- import osso
+ import osso as _osso
+ osso = _osso
except ImportError:
osso = None
def __init__(self):
super(WatersOfShiloahProgram, self).__init__()
currentPath = os.path.abspath(__file__)
- storePath = os.path.join(os.path.split(os.path.dirname(currentPath))[0], "data")
+ for dirName in ["share", "data"]:
+ storePath = os.path.join(os.path.split(os.path.dirname(currentPath))[0], dirName)
+ if os.path.isdir(storePath):
+ break
self._store = imagestore.ImageStore(storePath, constants._cache_path_)
self._index = stream_index.AudioIndex()
self._player = player.Player(self._index)
def run():
+ try:
+ os.makedirs(constants._data_path_)
+ except OSError, e:
+ if e.errno != 17:
+ raise
+
+ try:
+ os.makedirs(constants._cache_path_)
+ except OSError, e:
+ if e.errno != 17:
+ raise
+
+ logFormat = '(%(relativeCreated)5d) %(levelname)-5s %(threadName)s.%(name)s.%(funcName)s: %(message)s'
+ logging.basicConfig(level=logging.DEBUG, format=logFormat)
+ rotating = logging.handlers.RotatingFileHandler(constants._user_logpath_, maxBytes=512*1024, backupCount=1)
+ rotating.setFormatter(logging.Formatter(logFormat))
+ root = logging.getLogger()
+ root.addHandler(rotating)
+ _moduleLogger.info("%s %s-%s" % (constants.__app_name__, constants.__version__, constants.__build__))
+ _moduleLogger.info("OS: %s" % (os.uname()[0], ))
+ _moduleLogger.info("Kernel: %s (%s) for %s" % os.uname()[2:])
+ _moduleLogger.info("Hostname: %s" % os.uname()[1])
+
gobject.threads_init()
gtk.gdk.threads_init()
l = dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)