Added directives and autodocumenters for template tags and filters in a custom extens...
[philo.git] / philo / contrib / penfield / templatetags / penfield.py
index 99e358c..b263a2b 100644 (file)
@@ -1,22 +1,37 @@
+"""
+Penfield supplies two template filters to handle common use cases for blogs and newsletters.
+
+"""
 from django import template
 from django.utils.dates import MONTHS, MONTHS_AP
 
+
 register = template.Library()
 
+
+@register.filter
 def monthname(value):
-       monthnum = int(value)
-       if 1 <= monthnum <= 12:
-               return MONTHS[monthnum]
-       else:
+       """Returns the name of a month with the supplied numeric value."""
+       try:
+               value = int(value)
+       except:
+               pass
+       
+       try:
+               return MONTHS[value]
+       except KeyError:
                return value
 
-register.filter('monthname', monthname)
 
+@register.filter
 def apmonthname(value):
-       monthnum = int(value)
-       if 1 <= monthnum <= 12:
-               return MONTHS_AP[monthnum]
-       else:
-               return value
-
-register.filter('apmonthname', apmonthname)
+       """Returns the Associated Press abbreviated month name for the supplied numeric value."""
+       try:
+               value = int(value)
+       except:
+               pass
+       
+       try:
+               return MONTHS_AP[value]
+       except KeyError:
+               return value
\ No newline at end of file