diff options
Diffstat (limited to 'roles/raspios/image/filter_plugins/main.py')
-rw-r--r-- | roles/raspios/image/filter_plugins/main.py | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/roles/raspios/image/filter_plugins/main.py b/roles/raspios/image/filter_plugins/main.py deleted file mode 100644 index 5ac2d5ab..00000000 --- a/roles/raspios/image/filter_plugins/main.py +++ /dev/null @@ -1,51 +0,0 @@ -from __future__ import (absolute_import, division, print_function) -__metaclass__ = type - -import os -from ansible import errors -from urllib.parse import urlparse, urlunparse - - -def _raspios_extract_latest_image_download_url_recursive(items, image_name_suffix): - for item in items: - if not item['name'].startswith('Raspberry Pi OS '): - continue - - if 'url' in item: - result = urlparse(item['url']) - if not os.path.basename(result.path).endswith(image_name_suffix): - continue - - return urlunparse(result) - if 'subitems' in item: - result = _raspios_extract_latest_image_download_url_recursive(item['subitems'], image_name_suffix) - if result: - return result - return None - - -def raspios_extract_latest_image_download_url(os_list, variant, codename, arch): - try: - image_name_suffix = 'raspios-%s-%s' % (codename, arch) - if variant != 'desktop': - image_name_suffix += '-%s' % variant - image_name_suffix += '.img.xz' - - result = _raspios_extract_latest_image_download_url_recursive(os_list, image_name_suffix) - if result: - return result - - except Exception as e: - raise errors.AnsibleFilterError("raspios_extract_latest_image_download_url: %s" % str(e)) - - raise errors.AnsibleFilterError("unable to find latest image url for: %s" % (base_url)) - - -class FilterModule(object): - - filter_map = { - 'raspios_extract_latest_image_download_url': raspios_extract_latest_image_download_url, - } - - def filters(self): - return self.filter_map |