comparison upreckon/config.py @ 208:ede78fbd509a

Revamped files.File This changes (simplifies) file search path: * when searching for testconf, .../testconf.py is now given precendence over .../tests/testconf.py; * when searching inside archives, a/tests/b/c is now given precedence over a/c.
author Oleg Oshmyan <chortos@inbox.lv>
date Thu, 18 Aug 2011 02:20:24 +0300
parents 946e8c09ba12
children d66d5823bb1a
comparison
equal deleted inserted replaced
207:946e8c09ba12 208:ede78fbd509a
112 try: 112 try:
113 dwb = sys.dont_write_bytecode 113 dwb = sys.dont_write_bytecode
114 sys.dont_write_bytecode = True 114 sys.dont_write_bytecode = True
115 except AttributeError: 115 except AttributeError:
116 pass 116 pass
117 metafile = files.File(problem_name + '/testconf.py', True, 'configuration') 117 metafile = files.File.from_virtual_path(problem_name + '/testconf.py', True, 'configuration')
118 module = None 118 module = None
119 with CompatBuiltins() as builtins: 119 with CompatBuiltins() as builtins:
120 if zipimport and isinstance(metafile.archive, files.ZipArchive): 120 if zipimport and isinstance(metafile.archive, files.ZipArchive):
121 try: 121 try:
122 module = zipimport.zipimporter(os.path.dirname(metafile.full_real_path)).load_module('testconf') 122 module = zipimport.zipimporter(os.path.dirname(metafile.full_real_path)).load_module('testconf')
223 try: 223 try:
224 dwb = sys.dont_write_bytecode 224 dwb = sys.dont_write_bytecode
225 sys.dont_write_bytecode = True 225 sys.dont_write_bytecode = True
226 except AttributeError: 226 except AttributeError:
227 pass 227 pass
228 metafile = files.File('testconf.py', True, 'configuration') 228 metafile = files.File.from_virtual_path('testconf.py', True, 'configuration')
229 module = None 229 module = None
230 with CompatBuiltins() as builtins: 230 with CompatBuiltins() as builtins:
231 if zipimport and isinstance(metafile.archive, files.ZipArchive): 231 if zipimport and isinstance(metafile.archive, files.ZipArchive):
232 try: 232 try:
233 module = zipimport.zipimporter(os.path.dirname(metafile.full_real_path)).load_module('testconf') 233 module = zipimport.zipimporter(os.path.dirname(metafile.full_real_path)).load_module('testconf')