Mercurial > ~astiob > upreckon > hgweb
comparison 2.00/config.py @ 24:c23d81f4a1a3
Score returned by TestCase.__call__() is now normalized to 0..1
TestCase.__call__() now returns the fraction (a number from 0 to 1) of case.points that is to be awarded.
Bug fix: %-patterns in configuration variables common to all problems are now substituted.
| author | Oleg Oshmyan <chortos@inbox.lv> |
|---|---|
| date | Thu, 23 Sep 2010 00:11:24 +0000 |
| parents | f07b7a431ea6 |
| children | b500e117080e |
comparison
equal
deleted
inserted
replaced
| 23:c1f52b5d80d6 | 24:c23d81f4a1a3 |
|---|---|
| 116 except TypeError: | 116 except TypeError: |
| 117 module.paddummies = module.padwithzeroestolength | 117 module.paddummies = module.padwithzeroestolength |
| 118 for name in defaults_problem: | 118 for name in defaults_problem: |
| 119 if not hasattr(globalconf, name): | 119 if not hasattr(globalconf, name): |
| 120 setattr(module, name, getattr(module, name, defaults_problem[name])) | 120 setattr(module, name, getattr(module, name, defaults_problem[name])) |
| 121 for name in patterns: | |
| 122 if hasattr(module, name): | |
| 123 setattr(module, name, getattr(module, name).replace('%', problem_name)) | |
| 124 if not hasattr(module, 'path'): | 121 if not hasattr(module, 'path'): |
| 125 if hasattr(module, 'name'): | 122 if hasattr(module, 'name'): |
| 126 module.path = module.name | 123 module.path = module.name |
| 127 elif sys.platform != 'win32': | 124 elif sys.platform != 'win32': |
| 128 module.path = os.path.join(os.path.curdir, problem_name) | 125 module.path = os.path.join(os.path.curdir, problem_name) |
| 129 else: | 126 else: |
| 130 module.path = problem_name | 127 module.path = problem_name |
| 131 if options.no_maxtime: | 128 if options.no_maxtime: |
| 132 module.maxtime = 0 | 129 module.maxtime = 0 |
| 133 sys.dont_write_bytecode = dwb | 130 sys.dont_write_bytecode = dwb |
| 134 return Config(module, globalconf) | 131 module = Config(module, globalconf) |
| 132 for name in patterns: | |
| 133 if hasattr(module, name): | |
| 134 setattr(module, name, getattr(module, name).replace('%', problem_name)) | |
| 135 return module | |
| 135 | 136 |
| 136 def load_global(): | 137 def load_global(): |
| 137 dwb = sys.dont_write_bytecode | 138 dwb = sys.dont_write_bytecode |
| 138 sys.dont_write_bytecode = True | 139 sys.dont_write_bytecode = True |
| 139 metafile = files.File('testconf.py', True, 'configuration') | 140 metafile = files.File('testconf.py', True, 'configuration') |
