euscanwww: category, categories and package views
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
This commit is contained in:
@ -138,7 +138,7 @@ class Command(BaseCommand):
|
||||
sys.stdout.write('[u] %s/%s-%s %s\n' % (package.category, package.name,
|
||||
ver, url))
|
||||
|
||||
obj.url = url
|
||||
obj.urls = url
|
||||
obj.packaged = False
|
||||
obj.save()
|
||||
|
||||
|
8
euscanwww/euscan/templatetags/mul.py
Normal file
8
euscanwww/euscan/templatetags/mul.py
Normal file
@ -0,0 +1,8 @@
|
||||
from django import template
|
||||
|
||||
register = template.Library()
|
||||
|
||||
def mul(value, arg=None):
|
||||
return value*arg
|
||||
|
||||
register.filter('mul', mul)
|
@ -4,10 +4,10 @@ urlpatterns = patterns('euscan.views',
|
||||
(r'^$', 'index'),
|
||||
(r'^logs/$', 'logs'),
|
||||
(r'^categories/$', 'categories'),
|
||||
(r'^category/(?P<category>\w+)/packages/$', 'category'),
|
||||
(r'^category/(?P<category>[\w+][\w+.-]*)/packages/$', 'category'),
|
||||
(r'^herds/$', 'herds'),
|
||||
(r'^herd/(?P<herd>\w+)/packages/$', 'herd'),
|
||||
(r'^herd/(?P<herd>[\w+][\w+.-]*)/packages/$', 'herd'),
|
||||
(r'^maintainers/$', 'maintainers'),
|
||||
(r'^maintainer/(?P<maintainer_id>\d+)/packages/$', 'maintainer'),
|
||||
(r'^package/(?P<category>\w+)/(?P<package>\w+)/$', 'package'),
|
||||
(r'^package/(?P<category>[\w+][\w+.-]*)/(?P<package>[\w+][\w+.-]*)/$', 'package'),
|
||||
)
|
||||
|
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
from annoying.decorators import render_to
|
||||
from django.http import Http404
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.db.models import Sum, Max
|
||||
|
||||
from euscan.models import Version, Package, Herd, Maintainer, EuscanResult
|
||||
@ -9,7 +10,8 @@ def index(request):
|
||||
ctx = {}
|
||||
ctx['n_packaged'] = Package.objects.aggregate(Sum('n_packaged'))['n_packaged__sum']
|
||||
ctx['n_versions'] = Package.objects.aggregate(Sum('n_versions'))['n_versions__sum']
|
||||
ctx['n_upstream'] = ctx['n_versions'] - ctx['n_packaged']
|
||||
if ctx['n_versions'] is not None and ctx['n_pacaged'] is not None:
|
||||
ctx['n_upstream'] = ctx['n_versions'] - ctx['n_packaged']
|
||||
ctx['n_packages'] = Package.objects.count()
|
||||
ctx['n_herds'] = Herd.objects.count()
|
||||
ctx['n_maintainers'] = Maintainer.objects.count()
|
||||
@ -27,7 +29,10 @@ def categories(request):
|
||||
|
||||
@render_to('euscan/category.html')
|
||||
def category(request, category):
|
||||
return {}
|
||||
packages = Package.objects.filter(category=category)
|
||||
if not packages:
|
||||
raise Http404
|
||||
return { 'category' : category, 'packages' : packages }
|
||||
|
||||
@render_to('euscan/herds.html')
|
||||
def herds(request):
|
||||
@ -47,4 +52,7 @@ def maintainer(request, maintainer_id):
|
||||
|
||||
@render_to('euscan/package.html')
|
||||
def package(request, category, package):
|
||||
return {}
|
||||
package = get_object_or_404(Package, category=category, name=package)
|
||||
packaged = Version.objects.filter(package=package, packaged=True)
|
||||
upstream = Version.objects.filter(package=package, packaged=False)
|
||||
return { 'package' : package, 'packaged' : packaged, 'upstream' : upstream }
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user