diff options
author | rsiddharth <s@ricketyspace.net> | 2016-10-30 19:46:27 +0000 |
---|---|---|
committer | rsiddharth <s@ricketyspace.net> | 2016-10-30 19:48:20 +0000 |
commit | 95d6e1427dad0a8844080b91fdd91385a52a7c6f (patch) | |
tree | a7fbccce932bba3b1e203cc85473884d780ab9b8 /gd_diff.py | |
parent | cf4d1f9279f88deb2d920f9fc611d29378168a87 (diff) |
Add `slurp_fields_from_readme` function.
* gd_diff.py (slurp_fields_from_readme): New function.
* tests/test_gd_diff.py (test_slurp_fields_from_readme): Test method for
`slurp_fields_from_readme`
Diffstat (limited to 'gd_diff.py')
-rw-r--r-- | gd_diff.py | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -7,6 +7,7 @@ # <https://creativecommons.org/publicdomain/zero/1.0> import os +import re import shlex import sys @@ -143,3 +144,32 @@ def read_gns_readme(release, pkg, local_dir): readme_content = read_file(readme_path) return readme_content + + +def slurp_fields_from_readme(content): + """Returns dict containing fields slurped from `content` + + - If a field is not defined or if its value is empty in the + `content`, then its corresponding value in the dict will be None. + + """ + # list of recognized fields. + field_list = [ + 'Change-Type', + 'Changed-From-Debian', + ] + + field_values = {} + for field in field_list: + pattern = r'{}:[ ]*(.+)'.format(field) + field_pattern = re.compile(pattern) + field_match = field_pattern.search(content) + + if (field_match and + field_match.group(1) and + field_match.group(1).strip()): + field_values[field] = field_match.group(1).strip() + else: + field_values[field] = None + + return field_values |