finished work with avatar
[meabook] / meabook
1 #!/usr/bin/python
2
3 import os
4 import sys
5 import gettext
6 gettext.bindtextdomain('meabook', '/usr/share/locale/ru_RU/LC_MESSAGES')
7 gettext.textdomain('meabook')
8 _ = gettext.gettext
9 from optparse import OptionParser
10
11 # add meabook directory to Python path in debug mode
12 if os.path.basename(sys.argv[0]).endswith("debug"):
13     sys.path.insert(0, "../../")
14     sys.path.insert(0, "../")
15
16 from meabook.factory import app_factory
17 from meabook.config import MeabookConfig
18 from meabook.database.SQLite import SQLite
19 from meabook.controller import MeabookController
20 from meabook.version import version
21
22 try:
23     import osso
24 except ImportError:
25     pass
26 else:
27     SERV = osso.Context("org.meabookproj.meabook", version, False)
28
29
30 def parse_command_line(argv):
31     """Parse command line options."""
32
33     parser = OptionParser(usage='%prog [options]')
34     parser.add_option('-u', '--ui', action='store', \
35         help='set user interface type', default='hildon')
36     return parser.parse_args(argv)
37
38
39 def main(argv):
40     opts, argv = parse_command_line(argv)
41
42     if 'MYDOCSDIR' in os.environ and os.path.exists(os.path.join(\
43         os.environ['MYDOCSDIR'], '.documents')):
44         basedir = os.path.join(os.environ['MYDOCSDIR'], '.documents/meabook')
45     elif os.path.exists(os.path.join(os.getcwdu(), '.meabook')):
46         basedir = os.path.abspath(os.path.join(os.getcwdu(), '.meabook'))
47     else:
48         basedir = os.path.join(os.environ['HOME'], '.meabook')
49
50     model = SQLite(basedir)
51     view, renderer = app_factory(opts.ui)
52     config = MeabookConfig(basedir, model)
53     controller = MeabookController(model, view, renderer, config)
54
55
56 if __name__ == "__main__":
57     sys.exit(main(sys.argv))