#!/usr/bin/python
#
# Copyright (C) 2010 Canonical Ltd
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# 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, see <http://www.gnu.org/licenses/>.
#
# Copyright (C) 2010 Ken VanDine <ken.vandine@canonical.com>
#
# Launch script for Gwibber Error
#

import sys
from os.path import join, dirname, exists, realpath, abspath
from dbus.mainloop.glib import DBusGMainLoop
import gtk
import dbus

######################################################################
# Setup path
LAUNCH_DIR = abspath(sys.path[0])
SOURCE_DIR = join(LAUNCH_DIR, "..", "gwibber")

DBusGMainLoop(set_as_default=True)

# if gwibber-error is already running, don't start
if "com.Gwibber.Error" in dbus.SessionBus().list_names():
  print "Found gwibber-error already running, exiting"
  quit()

# If we were invoked from a Gwibber source directory add that as the
# preferred module path ...
if exists(join(SOURCE_DIR, "error.py")):
    sys.path.insert(0, realpath(dirname(SOURCE_DIR)))
    try:
        from gwibber.microblog.util import log
        log.logger.name = "Gwibber Error"
        log.logger.info("Running from the source tree")
        from gwibber import error
    finally:
        del sys.path[0]
else:
    from gwibber.microblog.util import log
    log.logger.name = "Gwibber Error"
    log.logger.info("Running from the system path")
    from gwibber import error

dlg = error.GwibberErrorService()
gtk.main()
