This is an automatically generated e-mail. To reply, visit: http://reviewboard-fedoraserver.rhcloud.com/r/219/ |
On September 22nd, 2015, 3 nachm. CEST, Stephen Gallagher wrote:
config/roles/databaseserver/role.py (Diff revision 2) 51 def tweak_lines(lines_iterable, tweaking_rules, append_if_missing=False):52 for rule in tweaking_rules:53 regex = rule['regex']54 if isinstance(regex, str):55 rule['regex'] = re.compile(regex)56 rule.setdefault('global', True)57 rule.setdefault('append_if_missing', append_if_missing)58 59 found_regexes = set()60 ignore_regexes = set()61 62 for line in lines_iterable:63 lines_to_append = []64 for rule in tweaking_rules:65 regex = rule['regex']66 if regex not in ignore_regexes:67 m = regex.search(line)68 if m:69 found_regexes.add(regex)70 if not rule['global']:71 ignore_regexes.add(regex)72 if 'replace' in rule:73 line = regex.sub(rule['replace'], line)74 if 'append' in rule:75 lines_to_append.append(rule['append'])76 yield line77 for l in lines_to_append:78 yield l + "\n"79 80 for rule in tweaking_rules:81 if (82 rule['append_if_missing'] and83 rule['regex'] not in found_regexes):84 if 'replace' in rule:85 yield rule['replace'] + "\n"86 if 'append' in rule:87 yield rule['append'] + "\n"88 89 This function is very difficult to follow. Please add many comments.
On September 23rd, 2015, 4:03 nachm. CEST, Nils Philippsen wrote:
I don't like it very much myself ;), it's too unwieldy. It's basically a substitute for the functions of sed we used, you can match and
replace
orappend
, and optionally append at the end of the file if the regex never matched (for instance if future versions of the config file don't come with the matched directive so defaults get used). I thought about how to make this a bit more lean and easy to use so it's generally usable, but so far haven't come up with some concrete idea.
I don't like it very much myself ;), it's too unwieldy.
I've renamed it to
_tweak_lines()
so nobody gets the wrong idea that they should use this elsewhere ;).
- Nils
On September 23rd, 2015, 5:17 nachm. CEST, Nils Philippsen wrote:
Review request for RoleKit Mailing List, Miloslav Trmac, Nils Philippsen, Stephen Gallagher, and Thomas Woerner.
By Nils Philippsen.
Updated Sept. 23, 2015, 5:17 nachm.
Repository:
rolekit
Description
Testing
Diffs
|