Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit f617f42

Browse files
committed
Remove unused legacy redirect endpoints
1 parent 0af027f commit f617f42

1 file changed

Lines changed: 0 additions & 184 deletions

File tree

repologyapp/views/legacy.py

Lines changed: 0 additions & 184 deletions
Original file line numberDiff line numberDiff line change
@@ -15,124 +15,11 @@
1515
# You should have received a copy of the GNU General Public License
1616
# along with repology. If not, see <http://www.gnu.org/licenses/>.
1717

18-
from typing import Collection
19-
2018
import flask
2119

22-
from repologyapp.db import get_db
23-
from repologyapp.globals import repometadata
2420
from repologyapp.view_registry import Response, ViewRegistrar
2521

2622

27-
def _get_filtered_args(wanted_args: Collection[str]) -> dict[str, str]:
28-
return {
29-
key: val
30-
for key, val in flask.request.args.to_dict().items()
31-
if key in wanted_args
32-
}
33-
34-
35-
def _get_projects_args() -> dict[str, str]:
36-
return _get_filtered_args({
37-
'category',
38-
'families',
39-
'families_newest',
40-
'has_related',
41-
'inrepo',
42-
'maintainer',
43-
'newest',
44-
'notinrepo',
45-
'outdated',
46-
'problematic',
47-
'repos',
48-
'repos_newest',
49-
'search',
50-
})
51-
52-
53-
# /metapackages/*: logs are poluted by spam requests from huawei cloud, recheck after banning it
54-
@ViewRegistrar('/metapackages/all/')
55-
@ViewRegistrar('/metapackages/all/<bound>/')
56-
def metapackages_all(bound: str | None = None) -> Response:
57-
return flask.redirect(flask.url_for('projects', bound=bound, search=flask.request.args.to_dict().get('search')), 301)
58-
59-
60-
@ViewRegistrar('/metapackages/unique/')
61-
@ViewRegistrar('/metapackages/unique/<bound>/')
62-
def metapackages_unique(bound: str | None = None) -> Response:
63-
return flask.redirect(flask.url_for('projects', bound=bound, families=1, search=flask.request.args.to_dict().get('search')), 301)
64-
65-
66-
@ViewRegistrar('/metapackages/widespread/')
67-
@ViewRegistrar('/metapackages/widespread/<bound>/')
68-
def metapackages_widespread(bound: str | None = None) -> Response:
69-
return flask.redirect(flask.url_for('projects', bound=bound, families='10-', search=flask.request.args.to_dict().get('search')), 301)
70-
71-
72-
@ViewRegistrar('/metapackages/in-repo/<repo>/')
73-
@ViewRegistrar('/metapackages/in-repo/<repo>/<bound>/')
74-
def metapackages_in_repo(repo: str, bound: str | None = None) -> Response:
75-
if repo not in repometadata.active_names():
76-
flask.abort(404)
77-
78-
return flask.redirect(flask.url_for('projects', bound=bound, inrepo=repo, search=flask.request.args.to_dict().get('search')), 301)
79-
80-
81-
@ViewRegistrar('/metapackages/outdated-in-repo/<repo>/')
82-
@ViewRegistrar('/metapackages/outdated-in-repo/<repo>/<bound>/')
83-
def metapackages_outdated_in_repo(repo: str, bound: str | None = None) -> Response:
84-
if repo not in repometadata.active_names():
85-
flask.abort(404)
86-
87-
return flask.redirect(flask.url_for('projects', bound=bound, inrepo=repo, outdated=1, search=flask.request.args.to_dict().get('search')), 301)
88-
89-
90-
@ViewRegistrar('/metapackages/not-in-repo/<repo>/')
91-
@ViewRegistrar('/metapackages/not-in-repo/<repo>/<bound>/')
92-
def metapackages_not_in_repo(repo: str, bound: str | None = None) -> Response:
93-
if repo not in repometadata.active_names():
94-
flask.abort(404)
95-
96-
return flask.redirect(flask.url_for('projects', bound=bound, notinrepo=repo, search=flask.request.args.to_dict().get('search')), 301)
97-
98-
99-
@ViewRegistrar('/metapackages/candidates-for-repo/<repo>/')
100-
@ViewRegistrar('/metapackages/candidates-for-repo/<repo>/<bound>/')
101-
def metapackages_candidates_for_repo(repo: str, bound: str | None = None) -> Response:
102-
if repo not in repometadata.active_names():
103-
flask.abort(404)
104-
105-
return flask.redirect(flask.url_for('projects', bound=bound, inrepo=repo, families='5-', search=flask.request.args.to_dict().get('search')), 301)
106-
107-
108-
@ViewRegistrar('/metapackages/unique-in-repo/<repo>/')
109-
@ViewRegistrar('/metapackages/unique-in-repo/<repo>/<bound>/')
110-
def metapackages_unique_in_repo(repo: str, bound: str | None = None) -> Response:
111-
if repo not in repometadata.active_names():
112-
flask.abort(404)
113-
114-
return flask.redirect(flask.url_for('projects', bound=bound, inrepo=repo, families=1, search=flask.request.args.to_dict().get('search')), 301)
115-
116-
117-
# /metapackages/by-maintainer/alicef@gentoo.org/ from https://wiki.gentoo.org/
118-
@ViewRegistrar('/metapackages/by-maintainer/<maintainer>/')
119-
@ViewRegistrar('/metapackages/by-maintainer/<maintainer>/<bound>/')
120-
def metapackages_by_maintainer(maintainer: str, bound: str | None = None) -> Response:
121-
return flask.redirect(flask.url_for('projects', bound=bound, maintainer=maintainer, search=flask.request.args.to_dict().get('search')), 301)
122-
123-
124-
@ViewRegistrar('/metapackages/outdated-by-maintainer/<maintainer>/')
125-
@ViewRegistrar('/metapackages/outdated-by-maintainer/<maintainer>/<bound>/')
126-
def metapackages_outdated_by_maintainer(maintainer: str, bound: str | None = None) -> Response:
127-
return flask.redirect(flask.url_for('projects', bound=bound, maintainer=maintainer, outdated=1, search=flask.request.args.to_dict().get('search')), 301)
128-
129-
130-
@ViewRegistrar('/metapackages/')
131-
@ViewRegistrar('/metapackages/<bound>/')
132-
def metapackages(bound: str | None = None) -> Response:
133-
return flask.redirect(flask.url_for('projects', bound=bound, **_get_projects_args()), 301)
134-
135-
13623
@ViewRegistrar('/project/<name>')
13724
@ViewRegistrar('/project/<name>/')
13825
def project(name: str) -> Response:
@@ -155,31 +42,6 @@ def metapackage_packages(name: str) -> Response:
15542
return flask.redirect(flask.url_for('project_packages', name=name), 301)
15643

15744

158-
@ViewRegistrar('/metapackage/<name>/information')
159-
def metapackage_information(name: str) -> Response:
160-
return flask.redirect(flask.url_for('project_information', name=name), 301)
161-
162-
163-
@ViewRegistrar('/metapackage/<name>/history')
164-
def metapackage_history(name: str) -> Response:
165-
return flask.redirect(flask.url_for('project_history', name=name), 301)
166-
167-
168-
@ViewRegistrar('/metapackage/<name>/related')
169-
def metapackage_related(name: str) -> Response:
170-
return flask.redirect(flask.url_for('project_related', name=name), 301)
171-
172-
173-
@ViewRegistrar('/metapackage/<name>/badges')
174-
def metapackage_badges(name: str) -> Response:
175-
return flask.redirect(flask.url_for('project_badges', name=name), 301)
176-
177-
178-
@ViewRegistrar('/metapackage/<name>/report', methods=['GET', 'POST'])
179-
def metapackage_report(name: str) -> Response:
180-
return flask.redirect(flask.url_for('project_report', name=name), 301)
181-
182-
18345
# active badges on smartmontools.org, lyx.org and others
18446
@ViewRegistrar('/badge/version-only-for-repo/<repo>/<name>.svg')
18547
def badge_version_only_for_repo(repo: str, name: str) -> Response:
@@ -193,49 +55,3 @@ def badge_version_only_for_repo(repo: str, name: str) -> Response:
19355
),
19456
301
19557
)
196-
197-
198-
# /maintainer/*/problems: logs are poluted by spam requests from huawei cloud, recheck after banning it
199-
# XXX: don't forget to remove test and get_db import along with this
200-
@ViewRegistrar('/maintainer/<maintainer>/problems')
201-
def maintainer_problems_legacy(maintainer: str) -> Response:
202-
# actual problems listing is tied to repository+maintainer pair,
203-
# so determine most active repo and redirect to it
204-
205-
maintainer = maintainer.lower()
206-
207-
maintainer_info = get_db().get_maintainer_information(maintainer)
208-
209-
if not maintainer_info or not maintainer_info['num_projects_newest_per_repo']:
210-
return (flask.render_template('maintainer/404.html', maintainer=maintainer), 404)
211-
212-
bestrepo = max(
213-
(
214-
maintainer_info['num_projects_newest_per_repo'][repo],
215-
-maintainer_info['num_projects_outdated_per_repo'][repo],
216-
repometadata[repo]['num_metapackages_newest'],
217-
repo
218-
)
219-
for repo in maintainer_info['num_projects_newest_per_repo'].keys()
220-
)[-1]
221-
222-
return flask.redirect(
223-
flask.url_for(
224-
'maintainer_problems',
225-
repo=bestrepo,
226-
maintainer=maintainer
227-
),
228-
301
229-
)
230-
231-
232-
# reposiotry template was pointing here, recheck after this is fixed
233-
@ViewRegistrar('/addrepo')
234-
def addrepo() -> Response:
235-
return flask.redirect(flask.url_for('docs_requirements'), 301)
236-
237-
238-
# internal performance testing tool accessed it, recheck after this is fixed
239-
@ViewRegistrar('/about')
240-
def about() -> Response:
241-
return flask.redirect(flask.url_for('docs_about'), 301)

0 commit comments

Comments
 (0)