[buildinfo.debian.net] 02/02: Add a (source, version) page, experimenting with some kind of "is X repro.." use-case..
Chris Lamb
chris at chris-lamb.co.uk
Tue Nov 8 14:20:45 UTC 2016
This is an automated email from the git hooks/post-receive script.
lamby pushed a commit to branch master
in repository buildinfo.debian.net.
commit beaaa36cb59c5ad130a73c32757d01127a67d6b3
Author: Chris Lamb <lamby at debian.org>
Date: Tue Nov 8 14:20:32 2016 +0000
Add a (source, version) page, experimenting with some kind of "is X repro.." use-case..
---
bidb/packages/urls.py | 2 ++
bidb/packages/views.py | 21 ++++++++++++++++++++-
templates/packages/source.html | 2 +-
templates/packages/source_version.html | 33 +++++++++++++++++++++++++++++++++
4 files changed, 56 insertions(+), 2 deletions(-)
diff --git a/bidb/packages/urls.py b/bidb/packages/urls.py
index f7cf570..b5c0967 100644
--- a/bidb/packages/urls.py
+++ b/bidb/packages/urls.py
@@ -11,6 +11,8 @@ urlpatterns = (
url(r'^sources/(?P<name>[^/]+)$', views.source,
name='source'),
+ url(r'^sources/(?P<name>[^/]+)/(?P<version>[^/]+)$', views.source_version,
+ name='source-version'),
url(r'^binaries/(?P<name>[^/]+)$', views.binary,
name='binary'),
)
diff --git a/bidb/packages/views.py b/bidb/packages/views.py
index 8f45ccb..9615d48 100644
--- a/bidb/packages/views.py
+++ b/bidb/packages/views.py
@@ -1,5 +1,6 @@
from django.shortcuts import render, get_object_or_404
+from bidb.utils.itertools import groupby
from bidb.utils.paginator import AutoPaginator
from .models import Binary, Source
@@ -19,7 +20,6 @@ def binaries(request):
'page': page,
})
-
def source(request, name):
source = get_object_or_404(Source, name=name)
@@ -36,6 +36,25 @@ def source(request, name):
'versions': versions,
})
+def source_version(request, name, version):
+ source = get_object_or_404(
+ Source,
+ name=name,
+ buildinfos__version=version,
+ )
+
+ buildinfos_by_arch = groupby(
+ source.buildinfos.order_by('architecture__name'),
+ lambda x: x.architecture.name,
+ lambda x: x.version,
+ )
+
+ return render(request, 'packages/source_version.html', {
+ 'source': source,
+ 'version': version,
+ 'buildinfos_by_arch': buildinfos_by_arch,
+ })
+
def binary(request, name):
binary = get_object_or_404(Binary, name=name)
diff --git a/templates/packages/source.html b/templates/packages/source.html
index 5c2f676..42183f4 100644
--- a/templates/packages/source.html
+++ b/templates/packages/source.html
@@ -28,7 +28,7 @@
<ul class="list-horizontal">
{% for x in versions %}
<li>
- <code>{{ x }}</code>
+ <code><a href="{% url "packages:source-version" source.name x %}">{{ x }}</a></code>
</li>
{% endfor %}
</ul>
diff --git a/templates/packages/source_version.html b/templates/packages/source_version.html
new file mode 100644
index 0000000..84126dc
--- /dev/null
+++ b/templates/packages/source_version.html
@@ -0,0 +1,33 @@
+{% extends "base/base.html" %}
+
+{% block body_classes %}{{ block.super }} f_packages_source{% endblock %}
+
+{% block title %}{{ source.name }} (source package) — {{ block.super }}{% endblock %}
+
+{% block content %}
+
+<div class="page-header">
+ <h1>
+ <a href="{{ source.get_absolute_url }}"><span class="label label-primary">{{ source.name }}</span></a>
+ <small>{{ version }}</small>
+ </h1>
+</div>
+
+<h2>.buildinfo files:</h2>
+
+<ul>
+ {% for architecture,buildinfos in buildinfos_by_arch %}
+ <li>
+ {{ architecture }}:
+ <ul>
+ {% for buildinfo in buildinfos %}
+ <li>
+ <a href="{{ buildinfo.get_absolute_url }}"><code>{{ buildinfo.get_filename }}.buildinfo</code></a>
+ </li>
+ {% endfor %}
+ </ul>
+ </li>
+ {% endfor %}
+</ul>
+
+{% endblock%}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/buildinfo.debian.net.git
More information about the Reproducible-commits
mailing list