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