Commits

Matthew Schinckel committed 23b681d

Allow for decimal_hours to have a varying number of decimal places

Comments (0)

Files changed (2)

timedelta/helpers.py

     else:
         return result
 
-def decimal_hours(timedelta):
+def decimal_hours(timedelta, decimal_places=None):
     """
     Return a decimal value of the number of hours that this timedelta
     object refers to.
     """
-    return Decimal(timedelta.days*24) + Decimal(timedelta.seconds) / 3600
+    hours = Decimal(timedelta.days*24) + Decimal(timedelta.seconds) / 3600
+    if decimal_places:
+        return hours.quantize(Decimal(str(10**-decimal_places)))
+    return hours
 
 def week_containing(date):
     if date.weekday():

timedelta/templatetags/decimal_hours.py

 from ..helpers import decimal_hours as dh
 
 @register.filter(name='decimal_hours')
-def decimal_hours(value):
-    return dh(value)
+def decimal_hours(value, decimal_places=None):
+    return dh(value, decimal_places)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.