#!/usr/bin/python3
# -*- coding: UTF-8 -*-

import gettext
gettext.bindtextdomain('RevisionsManager', '/usr/share/locale')
gettext.textdomain('RevisionsManager')

import signal
import os
import sys
import logging
from gettext import gettext as _
from gi.repository import GLib
from dbus.mainloop.glib import DBusGMainLoop
DBusGMainLoop(set_as_default=True)

from RevisionsManager.Core.RMLog import RMLog
RMLog()
from RevisionsManager.RevisionsManagerDbus import RevisionsManagerDbus


def signal_handler_term(signal, frame):
    logging.warning("signal %d received, will stop", signal)
    sys.exit(0)

if __name__ == "__main__":
    if os.getuid() != 0:
        print(_("You need to be root to run this application"))
        sys.exit(1)

    #2-signal
    signal.signal(signal.SIGHUP, signal.SIG_IGN)
    signal.signal(signal.SIGINT,signal_handler_term)

    #3-LOG init
    
    logging.info('RevisionsManager starting ...')

    #4-dbus
    RevisionsManagerDbus()

    #5-main
    try:
        GLib.MainLoop().run()
    except KeyboardInterrupt:
        logging.error("[Daemon] run err!!")
        sys.exit(1)
