- items = get_items(p, value["group"])
- return [i for i in items if pattern.match(i)]
+ if "filter" in value:
+ items = get_items(p, value["filter"])
+ return [i for i in items if pattern.match(i)]
+ elif "group" in value:
+ items = get_items(p, value["group"])
+ groups = {}
+ for i in items:
+ p = pattern.match(i)
+ if p:
+ add_to_group(groups, p)
+ return [groups[k] for k in groups]
+ elif "extract" in value:
+ items = get_items(p, value["extract"])
+ r = []
+ for i in items:
+ p = pattern.match(i)
+ if p:
+ r.append(p.groups())
+ return r