diff options
author | Kenny Woodson <kwoodson@redhat.com> | 2016-04-04 16:07:02 -0400 |
---|---|---|
committer | Kenny Woodson <kwoodson@redhat.com> | 2016-04-04 16:11:26 -0400 |
commit | c667debd59e584530438198dfcf77403ed9c18c4 (patch) | |
tree | 472fc9c1219113dcc08ededb64d425fbcac8c576 /roles/lib_yaml_editor/build | |
parent | e878e61bbe1d44f4c998b533131fd76ae8d40ebd (diff) | |
download | openshift-c667debd59e584530438198dfcf77403ed9c18c4.tar.gz openshift-c667debd59e584530438198dfcf77403ed9c18c4.tar.bz2 openshift-c667debd59e584530438198dfcf77403ed9c18c4.tar.xz openshift-c667debd59e584530438198dfcf77403ed9c18c4.zip |
Fixing regexp. Periods are no longer allowed
Diffstat (limited to 'roles/lib_yaml_editor/build')
-rw-r--r-- | roles/lib_yaml_editor/build/ansible/yedit.py | 5 | ||||
-rw-r--r-- | roles/lib_yaml_editor/build/src/yedit.py | 22 |
2 files changed, 19 insertions, 8 deletions
diff --git a/roles/lib_yaml_editor/build/ansible/yedit.py b/roles/lib_yaml_editor/build/ansible/yedit.py index a4c0d40b3..dab3d6347 100644 --- a/roles/lib_yaml_editor/build/ansible/yedit.py +++ b/roles/lib_yaml_editor/build/ansible/yedit.py @@ -45,13 +45,16 @@ def main(): if rval: rval = yamlfile.put(module.params['key'], value) + if rval[0]: + yamlfile.write() module.exit_json(changed=rval[0], results=rval[1], state="present") if not module.params['content']: rval = yamlfile.create(module.params['key'], value) else: - yamlfile.write() rval = yamlfile.load() + yamlfile.write() + module.exit_json(changed=rval[0], results=rval[1], state="present") module.exit_json(failed=True, diff --git a/roles/lib_yaml_editor/build/src/yedit.py b/roles/lib_yaml_editor/build/src/yedit.py index faef577ae..642733914 100644 --- a/roles/lib_yaml_editor/build/src/yedit.py +++ b/roles/lib_yaml_editor/build/src/yedit.py @@ -6,8 +6,8 @@ class YeditException(Exception): class Yedit(object): ''' Class to modify yaml files ''' - re_valid_key = r"(((\[-?\d+\])|(\w+)).?)+$" - re_key = r"(?:\[(-?\d+)\])|(\w+)" + re_valid_key = r"(((\[-?\d+\])|([a-zA-Z-./]+)).?)+$" + re_key = r"(?:\[(-?\d+)\])|([a-zA-Z-./]+)" def __init__(self, filename=None, content=None, content_type='yaml'): self.content = content @@ -47,11 +47,13 @@ class Yedit(object): if key_indexes[-1][0]: if isinstance(data, list) and int(key_indexes[-1][0]) <= len(data) - 1: del data[int(key_indexes[-1][0])] + return True # expected dict entry elif key_indexes[-1][1]: if isinstance(data, dict): del data[key_indexes[-1][1]] + return True @staticmethod def add_entry(data, key, item=None): @@ -168,7 +170,7 @@ class Yedit(object): return entry def delete(self, key): - ''' put key, value into a yaml file ''' + ''' remove key from a dict''' try: entry = Yedit.get_entry(self.yaml_dict, key) except KeyError as _: @@ -176,11 +178,14 @@ class Yedit(object): if not entry: return (False, self.yaml_dict) - Yedit.remove_entry(self.yaml_dict, key) + result = Yedit.remove_entry(self.yaml_dict, key) + if not result: + return (False, self.yaml_dict) + return (True, self.yaml_dict) def put(self, key, value): - ''' put key, value into a yaml file ''' + ''' put key, value into a dict ''' try: entry = Yedit.get_entry(self.yaml_dict, key) except KeyError as _: @@ -189,11 +194,14 @@ class Yedit(object): if entry == value: return (False, self.yaml_dict) - Yedit.add_entry(self.yaml_dict, key, value) + result = Yedit.add_entry(self.yaml_dict, key, value) + if not result: + return (False, self.yaml_dict) + return (True, self.yaml_dict) def create(self, key, value): - ''' create the file ''' + ''' create a yaml file ''' if not self.exists(): self.yaml_dict = {key: value} return (True, self.yaml_dict) |