def _handle_range(self, range_arg):
            """
            Handle_range
            
            This determines if a range is temporal, and if so, converts the endpoints from
            ISO8601 strings to python datetime objects
            
            :param range_arg: argument of the form [start, end] to give
                to the Django range filter operator
            """

            if len(range_arg) != 2 or type(range_arg[0]) != type(range_arg[1]):
                raise exceptions.RangeTakesTwoArgsException()

            if pr_time.is_iso8601(range_arg[0]) and pr_time.is_iso8601(range_arg[1]):
                ret = []
                for timestamp in range_arg:
                    ret.append(pr_time.iso8601_to_datetime(timestamp))
                return ret
            else:
                return range_arg
 def set_time(self, field_name, new_value):
     if new_value:
         t = pr_time.iso8601_to_datetime(new_value)
     else:
         t = None
     setattr(self.django_object, field_name, t)
 def set_time(self, field_name, new_value):
     if new_value:
         t = pr_time.iso8601_to_datetime(new_value)
     else:
         t = None
     setattr(self.django_object, field_name, t)