summaryrefslogtreecommitdiff
path: root/packages/templatetags
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2011-05-21 02:11:13 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2011-05-21 02:11:13 -0300
commita30350ac6e76c66d14f6d78ed2b5ae4e5799c79c (patch)
treea2b7127366a1b9d8d5be9fcda5abefacef7d2579 /packages/templatetags
parentd8f82d9d72eec6042536797f75e06a9296f4cc71 (diff)
parent2470c543d60c96343a5b0fefe04464b5b445b859 (diff)
Merge branch 'master' of git://projects.archlinux.org/archweb
Conflicts: devel/views.py feeds.py templates/devel/index.html templates/packages/flag.html templates/public/index.html todolists/views.py urls.py
Diffstat (limited to 'packages/templatetags')
-rw-r--r--packages/templatetags/package_extras.py37
1 files changed, 35 insertions, 2 deletions
diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py
index dd5b9347..e089b723 100644
--- a/packages/templatetags/package_extras.py
+++ b/packages/templatetags/package_extras.py
@@ -1,4 +1,4 @@
-import urllib
+from urllib import urlencode, quote as urlquote
try:
from urlparse import parse_qs
except ImportError:
@@ -22,7 +22,7 @@ class BuildQueryStringNode(template.Node):
qs['sort'] = ['-' + self.sortfield]
else:
qs['sort'] = [self.sortfield]
- return urllib.urlencode(qs, True)
+ return urlencode(qs, True)
@register.tag(name='buildsortqs')
def do_buildsortqs(parser, token):
@@ -48,4 +48,37 @@ def userpkgs(user):
)
return ''
+
+def svn_link(package, svnpath):
+ '''Helper function for the two real SVN link methods.'''
+ parts = (package.repo.svn_root, package.pkgbase, svnpath)
+ linkbase = "http://projects.archlinux.org/svntogit/%s.git/tree/%s/%s/"
+ return linkbase % tuple(urlquote(part) for part in parts)
+
+@register.simple_tag
+def svn_arch(package):
+ repo = package.repo.name.lower()
+ return svn_link(package, "repos/%s-%s" % (repo, package.arch.name))
+
+@register.simple_tag
+def svn_trunk(package):
+ return svn_link(package, "trunk")
+
+@register.simple_tag
+def bugs_list(package):
+ data = {
+ 'project': package.repo.bugs_project,
+ 'string': package.pkgname,
+ }
+ return "https://bugs.archlinux.org/?%s" % urlencode(data)
+
+@register.simple_tag
+def bug_report(package):
+ data = {
+ 'project': package.repo.bugs_project,
+ 'product_category': package.repo.bugs_category,
+ 'item_summary': '[%s]' % package.pkgname,
+ }
+ return "https://bugs.archlinux.org/newtask?%s" % urlencode(data)
+
# vim: set ts=4 sw=4 et: