From 21461e78608bb687d7101dd55e72d44cbebf2ff6 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 9 Aug 2011 22:53:01 -0500 Subject: Add package details link tag Signed-off-by: Dan McGee --- packages/templatetags/package_extras.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'packages/templatetags/package_extras.py') diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index e089b723..14a519d4 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -36,6 +36,11 @@ def do_buildsortqs(parser, token): "%r tag's argument should be in quotes" % tagname) return BuildQueryStringNode(sortfield[1:-1]) +@register.simple_tag +def pkg_details_link(pkg): + template = '%s' + return template % (pkg.get_absolute_url(), pkg.pkgname, pkg.pkgname) + @register.simple_tag def userpkgs(user): if user: @@ -48,7 +53,6 @@ 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) -- cgit v1.2.3-54-g00ecf From d14e80e2f04edb2f52811dba805a7ed2aa680fab Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Tue, 9 Aug 2011 23:35:27 -0500 Subject: Add a template tag to link multiple packages at once Comma-separated list. Signed-off-by: Dan McGee --- packages/templatetags/package_extras.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'packages/templatetags/package_extras.py') diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index 14a519d4..7bc868de 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -41,6 +41,10 @@ def pkg_details_link(pkg): template = '%s' return template % (pkg.get_absolute_url(), pkg.pkgname, pkg.pkgname) +@register.simple_tag +def multi_pkg_details(pkgs): + return ', '.join([pkg_details_link(pkg) for pkg in pkgs]) + @register.simple_tag def userpkgs(user): if user: -- cgit v1.2.3-54-g00ecf From 0df3567ae25bb2856bc62951844d9dab5ea97990 Mon Sep 17 00:00:00 2001 From: Sergej Pupykin Date: Sat, 13 Aug 2011 00:23:36 +0400 Subject: add "search wiki" link to package details page Dan: fix usage of urlencode() function. Signed-off-by: Dan McGee --- packages/templatetags/package_extras.py | 8 ++++++++ templates/packages/details.html | 1 + 2 files changed, 9 insertions(+) (limited to 'packages/templatetags/package_extras.py') diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index 7bc868de..e4c7a010 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -72,6 +72,14 @@ def svn_arch(package): def svn_trunk(package): return svn_link(package, "trunk") +@register.simple_tag +def get_wiki_link(package): + data = { + 'search': package.pkgname, + } + return "https://wiki.archlinux.org/index.php/Special:Search?%s" % \ + urlencode(data) + @register.simple_tag def bugs_list(package): data = { diff --git a/templates/packages/details.html b/templates/packages/details.html index a3f2cef4..bec4bdff 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -18,6 +18,7 @@

Package Actions

  • SVN Entries ({{pkg.repo|lower}}-{{pkg.arch}})
  • SVN Entries (trunk)
  • +
  • Search Wiki
  • Bug Reports
  • Report a Bug
  • {% if pkg.flag_date %} -- cgit v1.2.3-54-g00ecf From c9c3dffdec1afa8ce4ff8d26113ff871a25d224d Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 19 Aug 2011 18:32:17 -0500 Subject: Ensure ampersands are properly escaped in hrefs This was pointed out by the W3C validator. Signed-off-by: Dan McGee --- packages/templatetags/package_extras.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'packages/templatetags/package_extras.py') diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index e4c7a010..42001aa5 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -9,6 +9,10 @@ register = template.Library() +def link_encode(url, query, doseq=False): + data = urlencode(query, doseq).replace('&', '&') + return "%s?%s" % (url, data) + class BuildQueryStringNode(template.Node): def __init__(self, sortfield): self.sortfield = sortfield @@ -22,7 +26,7 @@ def render(self, context): qs['sort'] = ['-' + self.sortfield] else: qs['sort'] = [self.sortfield] - return urlencode(qs, True) + return urlencode(qs, True).replace('&', '&') @register.tag(name='buildsortqs') def do_buildsortqs(parser, token): @@ -74,27 +78,29 @@ def svn_trunk(package): @register.simple_tag def get_wiki_link(package): + url = "https://wiki.archlinux.org/index.php/Special:Search" data = { 'search': package.pkgname, } - return "https://wiki.archlinux.org/index.php/Special:Search?%s" % \ - urlencode(data) + return link_encode(url, data) @register.simple_tag def bugs_list(package): + url = "https://bugs.archlinux.org/" data = { 'project': package.repo.bugs_project, 'string': package.pkgname, } - return "https://bugs.archlinux.org/?%s" % urlencode(data) + return link_encode(url, data) @register.simple_tag def bug_report(package): + url = "https://bugs.archlinux.org/newtask" 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) + return link_encode(url, data) # vim: set ts=4 sw=4 et: -- cgit v1.2.3-54-g00ecf From 25a15d4c570823c6e28693d68d57b803dc2673fa Mon Sep 17 00:00:00 2001 From: Evangelos Foutras Date: Thu, 1 Sep 2011 19:56:05 +0300 Subject: Use package branches to display commit history We now have one link pointing to the tree of /trunk, and another pointing to the log of /trunk. Both links specify a package branch. Signed-off-by: Evangelos Foutras Signed-off-by: Dan McGee --- packages/templatetags/package_extras.py | 19 ++++++------------- templates/packages/details.html | 6 ++++-- 2 files changed, 10 insertions(+), 15 deletions(-) (limited to 'packages/templatetags/package_extras.py') diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index 42001aa5..01bf7510 100644 --- a/packages/templatetags/package_extras.py +++ b/packages/templatetags/package_extras.py @@ -61,20 +61,13 @@ 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") +def scm_link(package, operation): + parts = (package.repo.svn_root, operation, package.pkgbase) + linkbase = ( + "http://projects.archlinux.org/svntogit/%s.git/%s/trunk?" + "h=packages/%s") + return linkbase % tuple(urlquote(part) for part in parts) @register.simple_tag def get_wiki_link(package): diff --git a/templates/packages/details.html b/templates/packages/details.html index afbf9103..fa8283ed 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -16,8 +16,10 @@

    Package Details: {{ pkg.pkgname }} {{ pkg.full_version }}