Add a non-incremental sourceforge lister

Following zack's work on T735, this change introduces an actual SWH lister for
SourceForge.

SourceForge provides a main sitemap that lists sharded sitemaps, which
themselves list pages. Each page belongs to a project (or sub-project,
though those are rare), information about which can be found by querying
a REST API, which gives us the list of any and all VCS used for said
project. Both sitemaps and pages have a "last modified" timestamp that
will be used in a future patch to implement incremental listing.

More precise information can be found as inline comments or docstrings.
This commit is contained in:
Raphaël Gomès 2021-03-17 17:39:41 +01:00
parent 879170a57d
commit f7b27c6930
16 changed files with 583 additions and 0 deletions

View file

@ -68,6 +68,7 @@ setup(
lister.packagist=swh.lister.packagist:register
lister.phabricator=swh.lister.phabricator:register
lister.pypi=swh.lister.pypi:register
lister.sourceforge=swh.lister.sourceforge:register
""",
classifiers=[
"Programming Language :: Python :: 3",