swh.lister.aur.lister module#
- class swh.lister.aur.lister.AurLister(scheduler: SchedulerInterface, url: str = 'https://aur.archlinux.org', instance: str = 'aur', credentials: Dict[str, Dict[str, List[Dict[str, str]]]] | None = None, max_origins_per_page: int | None = None, max_pages: int | None = None, enable_origins: bool = True)[source]#
Bases:
StatelessLister
[Dict
[str
,Any
]]List Arch User Repository (AUR) origins.
Given an url (used as a base url, default is ‘https://aur.archlinux.org’), download a ‘packages-meta-v1.json.gz’ which contains a json file listing all existing packages definitions.
Each entry describes the latest released version of a package. The origin url for a package is built using ‘pkgname’ and corresponds to a git repository.
An rpc api exists but it is recommended to save bandwidth so it’s not used. See https://lists.archlinux.org/pipermail/aur-general/2021-November/036659.html for more on this.
- VISIT_TYPE = 'aur'#
- INSTANCE = 'aur'#
- BASE_URL = 'https://aur.archlinux.org'#
- DEFAULT_PACKAGES_INDEX_URL = '{base_url}/packages-meta-v1.json.gz'#
- PACKAGE_VCS_URL_PATTERN = '{base_url}/{pkgname}.git'#
- PACKAGE_SNAPSHOT_URL_PATTERN = '{base_url}/cgit/aur.git/snapshot/{pkgname}.tar.gz'#
- ORIGIN_URL_PATTERN = '{base_url}/packages/{pkgname}'#
- download_packages_index() List[Dict[str, Any]] [source]#
Build an url based on self.DEFAULT_PACKAGES_INDEX_URL format string, and download the archive to self.DESTINATION_PATH
- Returns:
a directory Path where the archive has been downloaded to.
- get_pages() Iterator[Dict[str, Any]] [source]#
Yield an iterator which returns ‘page’
Each page corresponds to a package with a ‘version’, an ‘url’ for a Git repository, a ‘project_url’ which represents the upstream project url and a canonical ‘snapshot_url’ from which a tar.gz archive of the package can be downloaded.
- get_origins_from_page(origin: Dict[str, Any]) Iterator[ListedOrigin] [source]#
Iterate on all pages and yield ListedOrigin instances. It uses the vcs (Git) url as an origin and adds artifacts and aur_metadata entries to ‘extra_loader_arguments’.
artifacts describe the file to download and aur_metadata store some metadata that can be useful for the loader.