blob: c5c0b33c23670f0e64b6d1d4ebed990af967af14 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# Copyright 2010-2011 Florent Le Coz <louiz@louiz.org>
#
# This file is part of Poezio.
#
# Poezio is free software: you can redistribute it and/or modify
# it under the terms of the zlib license. See the COPYING file.
"""
Starting point of poezio. Launches both the Connection and Gui
"""
import sys
import os
import signal
import logging
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
import singleton
def main():
"""
Enter point
"""
import config
config_path = config.check_create_config_dir()
config.run_cmdline_args(config_path)
config.create_global_config()
config.check_create_log_dir()
config.setup_logging()
config.post_logging_setup()
from config import options
import theming
theming.update_themes_dir()
import logger
logger.create_logger()
import roster
roster.create_roster()
import core
log = logging.getLogger('')
signal.signal(signal.SIGINT, signal.SIG_IGN) # ignore ctrl-c
cocore = singleton.Singleton(core.Core)
signal.signal(signal.SIGUSR1, cocore.sigusr_handler) # reload the config
signal.signal(signal.SIGHUP, cocore.exit_from_signal)
signal.signal(signal.SIGTERM, cocore.exit_from_signal)
signal.signal(signal.SIGPIPE, cocore.exit_from_signal)
if options.debug:
cocore.debug = True
cocore.start()
try:
if not cocore.xmpp.start(): # Connect to remote server
cocore.on_failed_connection()
except:
cocore.running = False
cocore.reset_curses()
print("Poezio could not start, maybe you tried aborting it while it was starting?\n"
"If you think it is abnormal, please run it with the -d option and report the bug.")
else:
log.error('------------------------ new poezio start ------------------------')
cocore.main_loop() # Refresh the screen, wait for user events etc
if __name__ == '__main__':
main()
|