85065dd9d0721cc481033fea15ec75a2c7dfecef
[matthijs/upstream/mobilegtd.git] / src / main.py
1 # SYMBIAN_UID = 0xA0008CDC
2 # 0xA0008CDC
3 # 0x2001A1A0
4
5 #from logging import traceS60
6 #tr=traceS60.trace() 
7 #tr.go()
8
9 def run():
10     import sys
11     import e32
12     if e32.in_emulator():
13         sys.path.append('c:/python/')
14         
15         
16     import os.path
17     print sys.path
18 #    print os.path.dirname(__file__)
19 #    sys.path.append(os.path.dirname(__file__))
20     import log.logging
21     from log.logging import logger
22     import sys,os
23     logger.log_stderr()
24     sys.stderr.write('stderr logged from default')
25     
26     
27     
28     lock=None
29     
30     from config.config import gtd_directory,read_configurations
31     read_configurations()
32
33     from inout.io import safe_chdir
34     safe_chdir(gtd_directory)
35     print os.getcwd() 
36     try:
37         e32.ao_yield()
38         import sys,os
39     
40         import config.config, config.defaultconfig
41         import gui.gui
42         from model.projects import Projects
43         from gui.projects_list.project_list_view import ProjectListView
44         import inout.io
45         from persistence.projects_directory import ProjectsDirectory
46     
47         directory = os.path.join(config.config.gtd_directory,'@Projects')
48
49         projects = Projects()
50         projects_directory = ProjectsDirectory(projects)
51         projects_directory.add_directory(directory)
52         projects_directory.add_directory(os.path.join(directory,'@Review'))
53         projects_directory.read()
54 #        projects.process()
55         projects_view = ProjectListView(projects)
56         projects_view.run()
57         #logger.close()
58     except Exception, e:
59         import appuifw,traceback
60         trace = traceback.extract_tb(sys.exc_info()[2])
61         print e,trace
62         def display(objects):
63             strings=[]
64             for object in objects:
65                 strings.append(u'%s'%object)
66             appuifw.selection_list(strings)
67         
68         error_text = unicode(repr(e.args))
69         t = appuifw.Text()
70         for trace_line in trace:
71             formatted_trace_line = u'\nIn %s line %s: %s "%s"'%trace_line
72             logger.log(formatted_trace_line,1)
73             t.add(formatted_trace_line)
74         logger.log(error_text,1)
75         t.add(error_text)
76         lock = e32.Ao_lock()
77         appuifw.app.menu=[(u'Exit', lock.signal)]
78     
79         appuifw.app.title=u'Error'
80         appuifw.app.body=t
81         #appuifw.app.exit_key_handler=gui.exit
82         lock.wait()
83
84     logger.close()
85
86 run()
87
88 #tr.stop()