euscanwww: Created a feed for scan world with packages in GET
Note: Check if passing parameters in GET is good, there's the risk of looong urls Signed-off-by: volpino <fox91@anche.no>
This commit is contained in:
parent
58381f9808
commit
16f8d0c355
1
TODO
1
TODO
@ -52,7 +52,6 @@ euscanwww
|
|||||||
---------
|
---------
|
||||||
|
|
||||||
- Add an /about/config page that describe the current config (overlays, stuff in make.conf, euscan default settings, etc..)
|
- Add an /about/config page that describe the current config (overlays, stuff in make.conf, euscan default settings, etc..)
|
||||||
- Create a rss for "scan world" + packages in GET
|
|
||||||
- Always keep in db all found versions (when using an API only?). But don't display them if older than current packaged version, except maybe in the "upstream_version" column.
|
- Always keep in db all found versions (when using an API only?). But don't display them if older than current packaged version, except maybe in the "upstream_version" column.
|
||||||
|
|
||||||
### packages
|
### packages
|
||||||
|
@ -229,9 +229,32 @@ class UserFeed(BaseFeed):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def _items(self, data):
|
def _items(self, data):
|
||||||
user, options = data["user"], data["options"]
|
user = data["user"]
|
||||||
|
|
||||||
profile = get_profile(user)
|
profile = get_profile(user)
|
||||||
vlogs = get_account_versionlogs(profile)
|
vlogs = get_account_versionlogs(profile)
|
||||||
|
|
||||||
return vlogs, 100
|
return vlogs, 100
|
||||||
|
|
||||||
|
|
||||||
|
class WorldScanFeed(BaseFeed):
|
||||||
|
link = "/"
|
||||||
|
|
||||||
|
def get_object(self, request):
|
||||||
|
return {
|
||||||
|
"options": request.GET,
|
||||||
|
}
|
||||||
|
|
||||||
|
def _items(self, data):
|
||||||
|
packages = []
|
||||||
|
for pkg_name in data["options"].getlist("package", []):
|
||||||
|
if "/" in pkg_name:
|
||||||
|
cat, name = pkg_name.split("/", 1)
|
||||||
|
pkg = Package.objects.filter(name=name, category=cat)
|
||||||
|
else:
|
||||||
|
pkg = Package.objects.filter(name=pkg_name)
|
||||||
|
packages.extend(pkg)
|
||||||
|
|
||||||
|
vlogs = VersionLog.objects.filter(package__in=packages)
|
||||||
|
|
||||||
|
return vlogs, 100
|
||||||
|
@ -7,6 +7,18 @@
|
|||||||
{{ block.super }} - World Scan
|
{{ block.super }} - World Scan
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block menu_feed %}
|
||||||
|
{{ block.super }}
|
||||||
|
<li>
|
||||||
|
<img src="{{ STATIC_URL }}/img/feed.png" alt="feed" />
|
||||||
|
<a title="World scan Feed"
|
||||||
|
href="{% url "world_scan_feed" %}?package={{ packages|join:"&package=" }}">
|
||||||
|
World scan feed
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>
|
<h2>
|
||||||
World scan:
|
World scan:
|
||||||
|
@ -8,7 +8,7 @@ from djcelery.views import apply as apply_task
|
|||||||
from djeuscan.views import registered_tasks
|
from djeuscan.views import registered_tasks
|
||||||
|
|
||||||
from djeuscan.feeds import PackageFeed, CategoryFeed, HerdFeed, \
|
from djeuscan.feeds import PackageFeed, CategoryFeed, HerdFeed, \
|
||||||
MaintainerFeed, GlobalFeed, UserFeed
|
MaintainerFeed, GlobalFeed, UserFeed, WorldScanFeed
|
||||||
|
|
||||||
|
|
||||||
admin_required = user_passes_test(lambda u: u.is_superuser)
|
admin_required = user_passes_test(lambda u: u.is_superuser)
|
||||||
@ -117,6 +117,7 @@ urlpatterns = patterns('djeuscan.views',
|
|||||||
url(r'^statistics/charts/(?P<chart>[\w\-]+).png$', 'chart', name="chart"),
|
url(r'^statistics/charts/(?P<chart>[\w\-]+).png$', 'chart', name="chart"),
|
||||||
url(r'^world/$', 'world', name="world"),
|
url(r'^world/$', 'world', name="world"),
|
||||||
url(r'^world/scan/$', 'world_scan', name="world_scan"),
|
url(r'^world/scan/$', 'world_scan', name="world_scan"),
|
||||||
|
url(r'^world/scan/feed$', WorldScanFeed(), name="world_scan_feed"),
|
||||||
url(r'^world/favourite/$', 'favourite_world', name="favourite_world"),
|
url(r'^world/favourite/$', 'favourite_world', name="favourite_world"),
|
||||||
url(r'^world/unfavourite/$', 'unfavourite_world',
|
url(r'^world/unfavourite/$', 'unfavourite_world',
|
||||||
name="unfavourite_world"),
|
name="unfavourite_world"),
|
||||||
|
Loading…
Reference in New Issue
Block a user