poezio.py 1.07 KB
Newer Older
louiz’'s avatar
louiz’ committed
1
# Copyright 2010-2011 Florent Le Coz <louiz@louiz.org>
2 3 4 5
#
# This file is part of Poezio.
#
# Poezio is free software: you can redistribute it and/or modify
6
# it under the terms of the zlib license. See the COPYING file.
louiz’'s avatar
louiz’ committed
7

8

9 10 11
"""
Starting point of poezio. Launches both the Connection and Gui
"""
12

13
import sys
14
import os
15
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
16
import signal
17
import logging
18
from logger import logger
19

louiz’'s avatar
pylint  
louiz’ committed
20
from config import options
louiz’'s avatar
louiz’ committed
21 22
import singleton
import core
23

louiz’'s avatar
pylint  
louiz’ committed
24 25 26 27
def main():
    """
    Enter point
    """
28 29
    signal.signal(signal.SIGINT, signal.SIG_IGN) # ignore ctrl-c
    if options.debug:
louiz’'s avatar
pylint  
louiz’ committed
30
        logging.basicConfig(filename=options.debug, level=logging.DEBUG)
31 32
    else:
        logging.basicConfig(level=logging.CRITICAL)
louiz’'s avatar
pylint  
louiz’ committed
33
    cocore = singleton.Singleton(core.Core)
34
    signal.signal(signal.SIGHUP, cocore.sighup_handler) # ignore ctrl-c
louiz’'s avatar
pylint  
louiz’ committed
35 36 37 38 39 40 41
    cocore.start()
    if not cocore.xmpp.start():  # Connect to remote server
        cocore.on_failed_connection()
    cocore.main_loop()    # Refresh the screen, wait for user events etc

if __name__ == '__main__':
    main()