diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-04-13 21:00:49 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-04-13 21:00:49 -0400 |
commit | 7aab774ad05b81eb204774bf17cc613401310f7b (patch) | |
tree | 812929abb2ae6fae90e6a56d4237738d7ca62a8f /packages/templatetags/package_extras.py | |
parent | 355087ebe2e3fbd5f860e4655888a89d9df52e34 (diff) | |
parent | c266efc7fc73f94995bffcdf8e0ef7a4aeb563c3 (diff) |
Merge tag 'release_2014-10-19' into archweb-generic
Jinja2 switch for some templates, exact matches in package search
# Conflicts:
# templates/packages/search.html
Diffstat (limited to 'packages/templatetags/package_extras.py')
-rw-r--r-- | packages/templatetags/package_extras.py | 113 |
1 files changed, 2 insertions, 111 deletions
diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py index 70456985..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,93 +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.parabolagnulinux.org/%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.parabolagnulinux.org/index.php" - data = { - 'title': "Special:Search", - 'search': package.pkgname, - } - return link_encode(url, data) - -@register.simple_tag -def bugs_list(package): - url = "https://labs.parabola.nu/search/index/" - if package.arch.name == 'mips64el': - url = url + "mips64el" - else: - url = url + "issue-tracker" - 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[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: |