comparison upreckon/problem.py @ 196:67088c1765b4

Regexps now work with test archives Excuse me while I rewrite files.{File,regexp} almost from scratch...
author Oleg Oshmyan <chortos@inbox.lv>
date Mon, 15 Aug 2011 19:52:58 +0300
parents a76cdc26ba9d
children 166a23999bf7
comparison
equal deleted inserted replaced
195:c2490e39fd70 196:67088c1765b4
353 353
354 def regexp(pattern, group): 354 def regexp(pattern, group):
355 reobj = re.compile(pattern, re.UNICODE) 355 reobj = re.compile(pattern, re.UNICODE)
356 if not group: 356 if not group:
357 ids = [] 357 ids = []
358 for path, vpath in files.regexp(pattern): 358 for f in files.regexp(pattern):
359 ids.append(re.match(reobj, vpath).group(1)) 359 ids.append(re.match(reobj, f.virtual_path).group(1))
360 return natsorted(ids) 360 return natsorted(ids)
361 else: 361 else:
362 ids = {} 362 ids = {}
363 for path, vpath in files.regexp(pattern): 363 for f in files.regexp(pattern):
364 m = re.match(reobj, vpath) 364 m = re.match(reobj, f.virtual_path)
365 g = m.group(group) 365 g = m.group(group)
366 ids.setdefault(g, []) 366 ids.setdefault(g, [])
367 ids[g].append(m.group(1)) 367 ids[g].append(m.group(1))
368 for g in ids: 368 for g in ids:
369 ids[g] = natsorted(ids[g]) 369 ids[g] = natsorted(ids[g])