Commit 1ae018ce by Michael DeHaan

Adds a thirsty=yes|no to the get_url module, such that if downloading a large…

Adds a thirsty=yes|no to the get_url module, such that if downloading a large file from the internet you can decide
whether to download it every time or not -- will replace only on change, or decide to not download.  The default
is thirsty=no which will not download every time by default.
parent 5effbd4f
...@@ -19,6 +19,7 @@ Module changes: ...@@ -19,6 +19,7 @@ Module changes:
* new module boilerplate code to check for mutually required arguments, arguments required together, exclusive args * new module boilerplate code to check for mutually required arguments, arguments required together, exclusive args
* add pattern= as a paramter to the service module (for init scripts that don't do status, or do poor status) * add pattern= as a paramter to the service module (for init scripts that don't do status, or do poor status)
* various fixes to mysql & postresql modules * various fixes to mysql & postresql modules
* added a thirsty= option (boolean, default no) to the get_url module to decide to download the file every time or not
Core changes: Core changes:
......
...@@ -136,11 +136,20 @@ def main(): ...@@ -136,11 +136,20 @@ def main():
argument_spec = dict( argument_spec = dict(
url = dict(required=True), url = dict(required=True),
dest = dict(required=True), dest = dict(required=True),
thirsty = dict(default='no', choices=BOOLEANS)
) )
) )
url = module.params['url'] url = module.params['url']
dest = os.path.expanduser(module.params['dest']) dest = os.path.expanduser(module.params['dest'])
thirsty = module.boolean(module.params['thirsty'])
if not thirsty:
if os.path.exists(dest):
module.exit_json(msg="file already exists", changed=False)
if os.path.isdir(dest):
module.fail_json(msg="non-thirsty mode needs a filename for a destination, not a directory")
# download to tmpsrc # download to tmpsrc
tmpsrc, info = url_get(module, url, dest) tmpsrc, info = url_get(module, url, dest)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment