Clean up the main run() function a bit.
[matthijs/upstream/mobilegtd.git] / src / main.py
index 80a7538fe77a691afa9f9d9b8d18b8eaf3b05014..f6fe14c8dd5e8bcdcc5394df37223c322c416497 100644 (file)
@@ -7,44 +7,35 @@
 #tr.go()
 
 def run():
-    import sys
-    import e32
-    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
-    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() 
+    logger = None
     try:
+        import sys
+        import e32
+        import os
+        if e32.in_emulator():
+            sys.path.append('c:/python/')
+            
+            
+        # Set up logging
+        from log.logging import logger as _logger
+        logger = _logger
+        logger.log_stderr()
+
+       
+        # 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)
@@ -54,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])
@@ -69,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)]
@@ -81,8 +73,9 @@ def run():
         #appuifw.app.exit_key_handler=gui.exit
         lock.wait()
 
-    logger.close()
+    if logger:
+        logger.close()
+
+run()
 
-if __name__ == "__main__":
-    run()
 #tr.stop()