8.2.34 | Linux | www-data (uid:33)
👁 View: importer.py
📁 //snap/core18/current/usr/lib/python3/dist-packages/cloudinit/importer.py
# Copyright (C) 2012 Canonical Ltd. # Copyright (C) 2012 Hewlett-Packard Development Company, L.P. # Copyright (C) 2012 Yahoo! Inc. # # Author: Scott Moser <scott.moser@canonical.com> # Author: Juerg Haefliger <juerg.haefliger@hp.com> # Author: Joshua Harlow <harlowja@yahoo-inc.com> # # This file is part of cloud-init. See LICENSE file for license information. import importlib from types import ModuleType from typing import Optional, Sequence def import_module(module_name: str) -> ModuleType: return importlib.import_module(module_name) def _count_attrs( module_name: str, attrs: Optional[Sequence[str]] = None ) -> int: found_attrs = 0 if not attrs: return found_attrs mod = importlib.import_module(module_name) for attr in attrs: if hasattr(mod, attr): found_attrs += 1 return found_attrs def find_module( base_name: str, search_paths: Sequence[str], required_attrs: Optional[Sequence[str]] = None, ) -> tuple: """Finds specified modules""" if not required_attrs: required_attrs = [] # NOTE(harlowja): translate the search paths to include the base name. lookup_paths = [] for path in search_paths: real_path = [] if path: real_path.extend(path.split(".")) real_path.append(base_name) full_path = ".".join(real_path) lookup_paths.append(full_path) found_paths = [] for full_path in lookup_paths: if not importlib.util.find_spec(full_path): continue # Check that required_attrs are all present within the module. if _count_attrs(full_path, required_attrs) == len(required_attrs): found_paths.append(full_path) return (found_paths, lookup_paths) # vi: ts=4 expandtab
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 //snap/core18/current/usr/lib/python3/dist-packages/cloudinit
NameSizePermModifiedActions
📁 __pycache__/-07552026-09-01 05:19🗑 Delete
📁 analyze/-07552026-09-01 05:19🗑 Delete
📁 cmd/-07552026-09-01 05:19🗑 Delete
📁 config/-07552026-09-01 05:19🗑 Delete
📁 distros/-07552026-09-01 05:19🗑 Delete
📁 filters/-07552026-09-01 05:19🗑 Delete
📁 handlers/-07552026-09-01 05:19🗑 Delete
📁 mergers/-07552026-09-01 05:19🗑 Delete
📁 net/-07552026-09-01 05:19🗑 Delete
📁 reporting/-07552026-09-01 05:19🗑 Delete
📁 sources/-07552026-09-01 05:19🗑 Delete
__init__.py0B06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
apport.py5.7K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
atomic_helper.py1.4K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
cloud.py3.5K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
dhclient_hook.py2.5K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
dmi.py6.8K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
event.py2K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
features.py3.1K06442025-06-25 21:46👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
gpg.py4.3K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
helpers.py16.4K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
importer.py1.7K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
log.py4.3K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
netinfo.py22.6K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
patcher.py1.1K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
persistence.py2.5K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
registry.py1K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
safeyaml.py7.7K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
settings.py2K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
signal_handler.py1.8K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
simpletable.py1.9K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ssh_util.py20.7K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
stages.py34.5K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
subp.py13.2K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
temp_utils.py3.2K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
templater.py5.8K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
type_utils.py726B06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
url_helper.py28K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
user_data.py14.5K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
util.py90.5K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
version.py596B06442025-06-25 21:46👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
warnings.py3.8K06442023-04-20 21:31👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del