1
0
Fork 0
satnogs-network/network/base/templatetags/tags.py

50 lines
1.2 KiB
Python
Raw Normal View History

"""Django template tags for SatNOGS Network"""
2014-09-01 11:06:51 -06:00
from django import template
2015-07-11 15:37:51 -06:00
from django.core.urlresolvers import reverse
2014-09-01 11:06:51 -06:00
register = template.Library()
2014-09-01 14:31:22 -06:00
2014-09-01 11:06:51 -06:00
@register.simple_tag
2015-07-11 15:37:51 -06:00
def active(request, urls):
"""Returns if this is an active URL"""
2015-07-21 02:42:40 -06:00
if request.path in (reverse(url) for url in urls.split()):
2014-09-01 11:06:51 -06:00
return 'active'
2014-09-01 14:31:22 -06:00
return None
2014-10-27 09:47:32 -06:00
@register.simple_tag
def drifted_frq(frq, drift):
"""Returns drifred frequency"""
return int(round(frq + ((frq * drift) / float(pow(10, 9)))))
2015-07-11 15:38:48 -06:00
@register.filter
2014-10-27 09:47:32 -06:00
def frq(value):
"""Returns Hz formatted frequency html string"""
2015-07-11 15:38:48 -06:00
try:
to_format = float(value)
2015-07-23 09:18:01 -06:00
except (TypeError, ValueError):
2015-07-11 15:38:48 -06:00
return '-'
2014-10-27 09:47:32 -06:00
formatted = format(float(to_format) / 1000000, '.3f')
2015-08-15 05:07:31 -06:00
formatted = formatted + ' MHz'
2014-10-27 09:47:32 -06:00
return formatted
@register.filter
def percentagerest(value):
"""Returns the rest of percentage from a given (percentage) value"""
try:
return 100 - value
except (TypeError, ValueError):
return 0
@register.filter
def sortdemoddata(demoddata):
"""Returns a date sorted list of DemodData"""
try:
return sorted(list(demoddata), key=lambda x: str(x.payload_demod).split('/', 2)[2:])
except (TypeError, ValueError):
return demoddata