|
9 | 9 |
|
10 | 10 |
|
11 | 11 | import logging |
| 12 | +from urllib.parse import quote as urlquote |
12 | 13 |
|
13 | 14 | import requests |
14 | 15 | from django.conf import settings |
|
17 | 18 | from django.utils.timezone import now |
18 | 19 |
|
19 | 20 | from main.models import Package |
| 21 | +from main.utils import gitlab_project_name_to_path |
20 | 22 | from packages.alpm import AlpmAPI |
21 | 23 | from packages.models import FlagRequest |
22 | 24 |
|
@@ -63,11 +65,16 @@ def process_package(self, pkgdata): |
63 | 65 | current_time = now() |
64 | 66 | # Compatibility for old json output without issue |
65 | 67 | if 'issue' in pkgdata: |
66 | | - issue_url = f"{settings.GITLAB_PACKAGES_REPO}/{pkgbase}/-/issues/{pkgdata['issue']}" |
| 68 | + scm_pkgbase = urlquote(gitlab_project_name_to_path(pkgbase)) |
| 69 | + issue_url = f"{settings.GITLAB_PACKAGES_REPO}/{scm_pkgbase}/-/issues/{pkgdata['issue']}" |
67 | 70 | message = f"New version {pkgdata['upstream_version']} is available: {issue_url}" |
68 | 71 | else: |
69 | 72 | message = f"New version {pkgdata['upstream_version']} is available." |
70 | | - packages.update(flag_date=current_time) |
| 73 | + |
| 74 | + for pkg in ood_packages: |
| 75 | + pkg.flag_date = current_time |
| 76 | + pkg.save() |
| 77 | + |
71 | 78 | flag_request = FlagRequest(created=current_time, |
72 | 79 | |
73 | 80 | message=message, |
@@ -114,9 +121,6 @@ def handle(self, *args, **options): |
114 | 121 |
|
115 | 122 | flagged_packages = [] |
116 | 123 | for pkgdata in req.json().values(): |
117 | | - if not pkgdata['out_of_date']: |
118 | | - continue |
119 | | - |
120 | 124 | package = self.process_package(pkgdata) |
121 | 125 | if package is not None: |
122 | 126 | flagged_packages.append(package) |
|
0 commit comments