summaryrefslogtreecommitdiff
path: root/packages/templatetags/package_extras.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/templatetags/package_extras.py')
-rw-r--r--packages/templatetags/package_extras.py114
1 files changed, 2 insertions, 112 deletions
diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py
index e022116a..73a39092 100644
--- a/packages/templatetags/package_extras.py
+++ b/packages/templatetags/package_extras.py
@@ -1,33 +1,13 @@
-from urllib import urlencode, quote as urlquote, unquote
+from urllib import urlencode
try:
from urlparse import parse_qs
except ImportError:
from cgi import parse_qs
from django import template
-from django.utils.html import escape
-
-register = template.Library()
-
-
-def link_encode(url, query):
- # massage the data into all utf-8 encoded strings first, so urlencode
- # doesn't barf at the data we pass it
- query = {k: unicode(v).encode('utf-8') for k, v in query.items()}
- data = urlencode(query).replace('&', '&')
- return "%s?%s" % (url, data)
-@register.filter
-def url_unquote(original_url):
- try:
- url = original_url
- if isinstance(url, unicode):
- url = url.encode('ascii')
- url = unquote(url).decode('utf-8')
- return url
- except UnicodeError:
- return original_url
+register = template.Library()
class BuildQueryStringNode(template.Node):
@@ -79,94 +59,4 @@ def pkg_details_link(pkg, link_title=None, honor_flagged=False):
return link % (pkg.get_absolute_url(), pkg.pkgname, link_content)
-@register.simple_tag
-def multi_pkg_details(pkgs):
- return ', '.join([pkg_details_link(pkg) for pkg in pkgs])
-
-
-@register.simple_tag
-def maintainer_link(user):
- if user:
- # TODO don't hardcode
- title = escape('View packages maintained by ' + user.get_full_name())
- return '<a href="/packages/?maintainer=%s" title="%s">%s</a>' % (
- user.username,
- title,
- user.get_full_name(),
- )
- return ''
-
-
-@register.simple_tag
-def packager_link(user):
- if user:
- # TODO don't hardcode
- title = escape('View packages packaged by ' + user.get_full_name())
- return '<a href="/packages/?packager=%s" title="%s">%s</a>' % (
- user.username,
- title,
- user.get_full_name(),
- )
- return ''
-
-
-@register.simple_tag
-def scm_link(package, operation):
- parts = ("abslibre", operation, package.repo.name.lower(), package.pkgbase)
- linkbase = (
- "https://projects.parabola.nu/%s.git/%s/%s/%s")
- return linkbase % tuple(urlquote(part.encode('utf-8')) for part in parts)
-
-
-@register.simple_tag
-def get_wiki_link(package):
- url = "https://wiki.parabola.nu/index.php"
- data = {
- 'title': "Special:Search",
- 'search': package.pkgname,
- }
- return link_encode(url, data)
-
-@register.simple_tag
-def bugs_list(package):
- if package.arch.name == 'mips64el':
- project = "mips64el"
- else:
- project = "issue-tracker"
- url = "https://labs.parabola.nu/projects/%s/search" % project
- data = {
- 'titles_only': '1',
- 'issues': '1',
- 'q': package.pkgname,
- }
- return link_encode(url, data)
-
-
-@register.simple_tag
-def bug_report(package):
- url = "https://labs.parabola.nu/projects/"
- if package.arch.name == 'mips64el':
- url = url + "mips64el/issues/new"
- else:
- url = url + "issue-tracker/issues/new"
- data = {
- 'issue[subject]': '[%s] PLEASE ENTER SUMMARY' % package.pkgname,
- }
- return link_encode(url, data)
-
-@register.simple_tag
-def flag_unfree(package):
- url = "https://labs.parabola.nu/projects/"
- if package.arch.name == 'mips64el':
- url = url + "mips64el/issues/new"
- else:
- url = url + "issue-tracker/issues/new"
- data = {
- 'issue[tracker_id]': '4', # "freedom issue"
- 'issue[priority_id]': '1', # "freedom issue"
- 'issue[watcher_user_ids][]': '62', # "dev-list"
- 'issue[subject]': '[%s] Please put your reasons here (register first if you haven\'t)' % package.pkgname,
- }
- return link_encode(url, data)
-
# vim: set ts=4 sw=4 et: