swh.lister.launchpad.lister module#
- class swh.lister.launchpad.lister.LaunchpadListerState(git_date_last_modified: datetime | None = None, bzr_date_last_modified: datetime | None = None)[source]#
- Bases: - object- State of Launchpad lister 
- swh.lister.launchpad.lister.origin(vcs_type: str, repo: Any) str[source]#
- Determine the origin url out of a repository with a given vcs_type 
- class swh.lister.launchpad.lister.LaunchpadLister(scheduler: SchedulerInterface, url: str = 'https://launchpad.net/', instance: str = 'launchpad', incremental: bool = False, 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: - Lister[- LaunchpadListerState,- Tuple[- str,- Collection]]- List repositories from Launchpad (git or bzr). - Parameters:
- scheduler – instance of SchedulerInterface 
- incremental – defines if incremental listing should be used, in that case only modified or new repositories since last incremental listing operation will be returned 
 
 - LAUNCHPAD_URL = 'https://launchpad.net/'#
 - state_from_dict(d: Dict[str, Any]) LaunchpadListerState[source]#
- Convert the state stored in the scheduler backend (as a dict), to the concrete StateType for this lister. 
 - state_to_dict(state: LaunchpadListerState) Dict[str, Any][source]#
- Convert the StateType for this lister to its serialization as dict for storage in the scheduler. - Values must be JSON-compatible as that’s what the backend database expects. 
 - get_pages() Iterator[Tuple[str, Collection]][source]#
- Yields an iterator on all git/bzr repositories hosted on Launchpad sorted by last modification date in ascending order. 
 - get_origins_from_page(page: Tuple[str, Collection]) Iterator[ListedOrigin][source]#
- Iterate on all git repositories and yield ListedOrigin instances. 
 - finalize() None[source]#
- Custom hook to finalize the lister state before returning from the main loop. - This method must set - updatedif the lister has done some work.- If relevant, this method can use :meth`get_state_from_scheduler` to merge the current lister state with the one from the scheduler backend, reducing the risk of race conditions if we’re running concurrent listings. - This method is called in a finally block, which means it will also run when the lister fails.