Try to fix up commas in version numbers.
This commit is contained in:
parent
a300ec9d3b
commit
5c1c2c5c1a
1 changed files with 18 additions and 3 deletions
|
@ -48,6 +48,7 @@ EXAMPLES = '''
|
|||
- pkg5: name=service/network/finger state=absent
|
||||
'''
|
||||
|
||||
|
||||
def main():
|
||||
module = AnsibleModule(
|
||||
argument_spec=dict(
|
||||
|
@ -67,12 +68,26 @@ def main():
|
|||
)
|
||||
|
||||
params = module.params
|
||||
packages = []
|
||||
|
||||
# pkg(5) FRMIs include a comma before the release number, but
|
||||
# AnsibleModule will have split this into multiple items for us.
|
||||
# Try to spot where this has happened and fix it.
|
||||
for fragment in params['name']:
|
||||
if (
|
||||
re.search('^\d+(?:\.\d+)*', fragment)
|
||||
and packages and re.search('@[^,]*$', packages[-1])
|
||||
):
|
||||
packages[-1] += ',' + fragment
|
||||
else:
|
||||
packages.append(fragment)
|
||||
|
||||
if params['state'] in ['present', 'installed']:
|
||||
ensure(module, 'present', params['name'])
|
||||
ensure(module, 'present', packages)
|
||||
elif params['state'] in ['latest']:
|
||||
ensure(module, 'latest', params['name'])
|
||||
ensure(module, 'latest', packages)
|
||||
elif params['state'] in ['absent', 'uninstalled', 'removed']:
|
||||
ensure(module, 'absent', params['name'])
|
||||
ensure(module, 'absent', packages)
|
||||
|
||||
|
||||
def ensure(module, state, packages):
|
||||
|
|
Loading…
Reference in a new issue