From a76d5d2df41e574f45263fda9d947abb53b830af Mon Sep 17 00:00:00 2001 From: Andy Doan Date: Thu, 31 Jul 2014 16:48:51 +0000 Subject: Include deployed version information in page footer Change-Id: I7f4c61992eff75ef19fa840e6d2d911f4512519a --- apps/patchwork/templatetags/pwurl.py | 9 +++++++-- apps/version.py | 19 +++++++++++++++++++ templates/base.html | 4 +++- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 apps/version.py diff --git a/apps/patchwork/templatetags/pwurl.py b/apps/patchwork/templatetags/pwurl.py index 98bc1ca..f3438ca 100644 --- a/apps/patchwork/templatetags/pwurl.py +++ b/apps/patchwork/templatetags/pwurl.py @@ -19,15 +19,16 @@ from django import template from django.utils.html import escape -from django.utils.safestring import mark_safe from patchwork.filters import filterclasses -import re + +import version register = template.Library() # params to preserve across views list_params = [ c.param for c in filterclasses ] + ['order', 'page'] + class ListURLNode(template.defaulttags.URLNode): def __init__(self, *args, **kwargs): super(ListURLNode, self).__init__(*args, **kwargs) @@ -74,3 +75,7 @@ def listurl(parser, token): args.append(parser.compile_filter(arg)) return PatchworkURLNode(bits[1], args, kwargs) + +@register.filter +def revno_url(val): + return '%s' % (val, version.VERSION, version.VERSION) diff --git a/apps/version.py b/apps/version.py new file mode 100644 index 0000000..e8aca2b --- /dev/null +++ b/apps/version.py @@ -0,0 +1,19 @@ +import re +import subprocess + +VERSION = None + + +def _get_version(): + '''return either the tag on HEAD or the shortened commit id if not found''' + out = subprocess.check_output(['git', 'log', '--format=%h %d', '-1']) + version, ref_names = out.split('(') + m = re.match(r'.*tag: (\d{4}\.\d{2}.*?),', ref_names) + if m: + version = m.group(1) + return version.strip() + +try: + VERSION = _get_version() +except: + VERSION = '???' diff --git a/templates/base.html b/templates/base.html index e58cea9..4ab5e0b 100644 --- a/templates/base.html +++ b/templates/base.html @@ -52,7 +52,9 @@ -- cgit v1.2.3