commit e765c73bf1c96258a18f3609b5ee3a7ed369c58d Author: Sathyanarayanan Gunasekaran gsathya.ceg@gmail.com Date: Sun Feb 12 14:10:25 2012 +0530
Fix bug in utils.py
UnboundLocalError: local variable 'f' referenced before assignment. Fixed by using 'with' rather than manually opening and closing file descriptors. --- refactor/utils.py | 27 +++++++++++++-------------- 1 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/refactor/utils.py b/refactor/utils.py index cc5ae48..5c743ba 100644 --- a/refactor/utils.py +++ b/refactor/utils.py @@ -68,29 +68,28 @@ def get_logger(config): def parse_asset(asset): parsed = Storage() try: - f = open(asset, 'r') - for line in f.readlines(): + with open(asset, 'r') as f: + for line in f.readlines(): # XXX This should be rewritten, if the values contain # #: they will be rewritten with blank. # should not be an issue but this is not a very good parser - if line.startswith("#:"): - n = line.split(' ')[0].replace('#:','') - v = line.replace('#:'+n+' ', '').strip() - if n in ('tests', 'files'): - parsed[n] = v.split(",") + if line.startswith("#:"): + n = line.split(' ')[0].replace('#:','') + v = line.replace('#:'+n+' ', '').strip() + if n in ('tests', 'files'): + parsed[n] = v.split(",") + else: + parsed[n] = v + + elif line.startswith("#"): + continue else: - parsed[n] = v - - elif line.startswith("#"): - continue - else: - break + break finally: if not parsed.name: parsed.name = asset if not parsed.files: parsed.files = asset - f.close() return parsed
def import_test(name, config):
tor-commits@lists.torproject.org