Clean up the main run() function a bit.
[matthijs/upstream/mobilegtd.git] / src / main.py
index c278d4e785fb09c989b7a3d0fd728d668c9c7da7..f6fe14c8dd5e8bcdcc5394df37223c322c416497 100644 (file)
@@ -7,45 +7,35 @@
 #tr.go()
 
 def run():
+    logger = None
     try:
         import sys
         import e32
+        import os
         if e32.in_emulator():
             sys.path.append('c:/python/')
             
             
-        import os.path
-        print sys.path
-    #    print os.path.dirname(__file__)
-    #    sys.path.append(os.path.dirname(__file__))
-        import log.logging
-        from log.logging import logger
-        import sys,os
+        # Set up logging
+        from log.logging import logger as _logger
+        logger = _logger
         logger.log_stderr()
-        sys.stderr.write('stderr logged from default')
-        
-        
-        
-        lock=None
-        
-        from config.config import gtd_directory,read_configurations
-        read_configurations()
 
-        from inout.io import safe_chdir
-        safe_chdir(gtd_directory)
-        print os.getcwd() 
-        
+       
+        # Read config
+        from config import config
+        import inout
+        config.read_configurations()
+        inout.io.safe_chdir(config.gtd_directory)
+       
+        # Yield to the scheduler
         e32.ao_yield()
-        import sys,os
     
-        import config.config, config.defaultconfig
-        import gui.gui
         from model.projects import Projects
         from gui.projects_list.project_list_view import ProjectListView
-        import inout.io
         from persistence.projects_directory import ProjectsDirectory
     
-        directory = os.path.join(config.config.gtd_directory,'@Projects')
+        directory = os.path.join(config.gtd_directory,'@Projects')
 
         projects = Projects()
         projects_directory = ProjectsDirectory(projects)
@@ -55,7 +45,6 @@ def run():
 #        projects.process()
         projects_view = ProjectListView(projects)
         projects_view.run()
-        #logger.close()
     except Exception, e:
         import appuifw,traceback
         trace = traceback.extract_tb(sys.exc_info()[2])
@@ -70,9 +59,11 @@ def run():
         t = appuifw.Text()
         for trace_line in trace:
             formatted_trace_line = u'\nIn %s line %s: %s "%s"'%trace_line
-            logger.log(formatted_trace_line,1)
+            if logger:
+                logger.log(formatted_trace_line,1)
             t.add(formatted_trace_line)
-        logger.log(error_text,1)
+        if logger:
+            logger.log(error_text,1)
         t.add(error_text)
         lock = e32.Ao_lock()
         appuifw.app.menu=[(u'Exit', lock.signal)]
@@ -82,7 +73,8 @@ def run():
         #appuifw.app.exit_key_handler=gui.exit
         lock.wait()
 
-    logger.close()
+    if logger:
+        logger.close()
 
 run()