[Zope-Checkins] CVS: Zope/lib/python/OFS - Application.py:1.190

Chris McDonough chrism@zope.com
Sat, 17 May 2003 10:48:50 -0400


Update of /cvs-repository/Zope/lib/python/OFS
In directory cvs.zope.org:/tmp/cvs-serv5850

Modified Files:
	Application.py 
Log Message:
Raise a fatal exception if a product can't be imported in debug mode.
This prevents problems during test debugging where a logfile isn't
generated and a module might be half-imported.


=== Zope/lib/python/OFS/Application.py 1.189 => 1.190 ===
--- Zope/lib/python/OFS/Application.py:1.189	Tue Feb 11 12:17:05 2003
+++ Zope/lib/python/OFS/Application.py	Sat May 17 10:48:49 2003
@@ -507,6 +507,7 @@
     done={}
 
     products = get_products()
+    debug_mode = App.config.getConfiguration().debug_mode
 
     for priority, product_name, index, product_dir in products:
         if done.has_key(product_name):
@@ -516,7 +517,7 @@
                 `product_name`, `done[product_name]`, `product_dir`) )
             continue
         done[product_name]=product_dir
-        import_product(product_dir, product_name)
+        import_product(product_dir, product_name, raise_exc=debug_mode)
 
 def import_product(product_dir, product_name, raise_exc=0, log_exc=1):
     path_join=os.path.join
@@ -568,6 +569,8 @@
     meta_types=[]
     done={}
 
+    debug_mode = App.config.getConfiguration().debug_mode
+
     get_transaction().note('Prior to product installs')
     get_transaction().commit()
 
@@ -582,7 +585,7 @@
             continue
         done[product_name]=1
         install_product(app, product_dir, product_name, meta_types,
-                        folder_permissions)
+                        folder_permissions, raise_exc=debug_mode)
 
     Products.meta_types=Products.meta_types+tuple(meta_types)
     Globals.default__class_init__(Folder.Folder)