Пример #1
0
 def value_to_string(self, obj):
     val = self._get_val_from_obj(obj)
     if val is None:
         data = ''
     else:
         data = datetime_safe.new_date(val).strftime("%Y-%m-%d")
     return data
Пример #2
0
 def default(self, o):
    # if isinstance(o, GEOSGeometry):
     #    return o.wkt
     if(hasattr(o, "__iter__")):
         iterable = iter(o)
         return list(iterable)
     elif(hasattr(o, "__add__") and hasattr(o, "__sub__") and hasattr(o, "__mul__")):
         return float(o)
     elif isinstance(o, datetime.datetime):
         d = datetime_safe.new_datetime(o)
         return d.isoformat()
     elif isinstance(o, datetime.date):
         d = datetime_safe.new_date(o)
         return d.strftime(self.DATE_FORMAT)
     elif isinstance(o, datetime.time):
         return o.strftime(self.TIME_FORMAT)
     elif isinstance(o, Promise):
         return force_unicode(o)
     elif isinstance(o, Pelicula):
         the_dict = o.__dict__
         the_dict['titulo'] = unicode(o)
         return the_dict
     elif(hasattr(o, "__class__")):
         return o.__dict__
     else:
         return str(o)
Пример #3
0
 def render(self, value):
     if not value:
         return ""
     try:
         return value.strftime(self.formats[0])
     except:
         return datetime_safe.new_date(value).strftime(self.formats[0])
Пример #4
0
 def render(self, name, value, attrs=None):
     if value is None:
         value = ''
     elif hasattr(value, 'strftime'):
         value = datetime_safe.new_date(value)
         value = value.strftime(self.format)
     return super(DateInput, self).render(name, value, attrs)
Пример #5
0
 def flatten_data(self, follow, obj=None):
     val = self._get_val_from_obj(obj)
     if val is None:
         data = ''
     else:
         data = datetime_safe.new_date(val).strftime("%Y-%m-%d")
     return {self.attname: data}
Пример #6
0
 def _format_value(self, value):
     if value is None:
         return ''
     elif hasattr(value, 'strftime'):
         value = datetime_safe.new_date(value)
         return value.strftime(self.format)
     return value
Пример #7
0
 def default(self, o):
     if isinstance(o, datetime.datetime):
         d = datetime_safe.new_datetime(o)
         return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
     elif isinstance(o, datetime.date):
         d = datetime_safe.new_date(o)
         return d.strftime(self.DATE_FORMAT)
     elif isinstance(o, datetime.time):
         return o.strftime(self.TIME_FORMAT)
     elif isinstance(o, decimal.Decimal):
         return str(o)
     elif isinstance(o, Respuesta):
         return o.__dict__
     elif isinstance(o, models.Model):
         aux = o.__dict__
         return aux           
     elif isinstance(o, ModelState):
         return "x"
     elif isinstance(o, QuerySet):
         data = []
         for item in o:
             data.append(item.__dict__)
         return data
     else:
         return super(MyDjangoJSONEncoder, self).default(o)
Пример #8
0
    def construct(self, thing):
        """
        Dispatch, all types are routed through here.
        """
        ret = None
        if isinstance(thing, str):
            ret = thing
        elif isinstance(thing, QuerySet):
            ret = self._qs(thing)
        elif isinstance(thing, (tuple, list)):
            ret = self._list(thing)
        elif isinstance(thing, dict):
            ret = self._dict(thing)
        elif isinstance(thing, decimal.Decimal):
            ret = str(thing)
        elif isinstance(thing, Model):
            ret = self._model(thing)
        elif isinstance(thing, datetime.datetime):
            o2 = thing.replace(tzinfo=dateutil.tz.tzutc())
            return datetime.datetime.strftime(o2, self.DATETIME_FORMAT)
        elif isinstance(thing, datetime.date):
            d = datetime_safe.new_date(thing)
            return d.strftime(self.DATE_FORMAT)
        elif isinstance(thing, datetime.time):
            return thing.strftime(self.TIME_FORMAT)
        else:
            ret = smart_unicode(thing, strings_only=True)

        return ret
Пример #9
0
 def _format_value(self, value):
     if self.is_localized and not self.manual_format:
         return formats.localize_input(value)
     elif hasattr(value, 'strftime'):
         value = datetime_safe.new_date(value)
         return value.strftime(self.format)
     return value
Пример #10
0
 def get_db_prep_lookup(self, lookup_type, value):
     if lookup_type in ('range', 'in'):
         value = [smart_unicode(v) for v in value]
     elif lookup_type in ('exact', 'gt', 'gte', 'lt', 'lte') and hasattr(value, 'strftime'):
         value = datetime_safe.new_date(value).strftime('%Y-%m-%d')
     else:
         value = smart_unicode(value)
     return Field.get_db_prep_lookup(self, lookup_type, value)
Пример #11
0
 def value_to_db_date(self, value):
     """
     Transform a date value to an object compatible with what is expected
     by the backend driver for date columns.
     """
     if value is None:
         return None
     return datetime_safe.new_date(value).strftime('%Y-%m-%d')
Пример #12
0
	def urls(self, plugin_name, easy_instance_field):
		if isinstance(easy_instance_field.field, models.DateField):
			d = easy_instance_field.raw_value
			return [mark_safe(u'%s%s/%s/%s/%s/%s/' % (
				easy_instance_field.model.url(),
				plugin_name, easy_instance_field.field.name,
				str(d.year),
				datetime_safe.new_date(d).strftime('%b').lower(),
				d.day))]
Пример #13
0
 def get_db_prep_save(self, value):
     # Casts dates into string format for entry into database.
     if value is not None:
         try:
             value = datetime_safe.new_date(value).strftime('%Y-%m-%d')
         except AttributeError:
             # If value is already a string it won't have a strftime method,
             # so we'll just let it pass through.
             pass
     return Field.get_db_prep_save(self, value)
Пример #14
0
Файл: solr.py Проект: eads/panda
 def default(self, o):
     if isinstance(o, datetime.datetime):
         d = datetime_safe.new_datetime(o)
         return d.strftime("%sT%sZ" % (self.DATE_FORMAT, self.TIME_FORMAT))
     elif isinstance(o, datetime.date):
         d = datetime_safe.new_date(o)
         return d.strftime(self.DATE_FORMAT)
     elif isinstance(o, datetime.time):
         return o.strftime(self.TIME_FORMAT)
     else:
         return super(SolrJSONEncoder, self).default(o)
Пример #15
0
    def format_date(self, data):
        if self.datetime_formatting != 'rfc-2822':
            return super(DatastreamSerializer, self).format_date(data)

        # We can't use strftime() because it produces locale-dependant results, so
        # we have to map english month and day names manually
        months = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',)
        # Support datetime objects older than 1900
        date = datetime_safe.new_date(data)
        # We do this ourselves to be timezone aware, email.Utils is not tz aware
        month = months[date.month - 1]
        return date.strftime('%%d %s %%Y' % month)
Пример #16
0
 def default(self, o):                                                       
     if isinstance(o, datetime.datetime):                                    
         d = datetime_safe.new_datetime(o)                                   
         return rfc3339(d)
     elif isinstance(o, datetime.date):                                      
         d = datetime_safe.new_date(o)                                       
         return d.strftime(self.DATE_FORMAT)                                 
     elif isinstance(o, datetime.time):                                      
         return o.strftime(self.TIME_FORMAT)                                 
     elif isinstance(o, decimal.Decimal):                                    
         return str(o)                                                       
     else:                                                                   
         return super(RESTfulJSONEncoder, self).default(o)
Пример #17
0
def encode_type(o):
	if isinstance(o, datetime.datetime):
		d = datetime_safe.new_datetime(o)
		return d.strftime("%s %s" % (DATE_FORMAT, TIME_FORMAT))
	elif isinstance(o, datetime.date):
		d = datetime_safe.new_date(o)
		return d.strftime(DATE_FORMAT)
	elif isinstance(o, datetime.time):
		return o.strftime(TIME_FORMAT)
	elif isinstance(o, decimal.Decimal):
		return str(o)
	else:
		return o
Пример #18
0
 def default(self, o):
    if isinstance(o, datetime.datetime):
        d = datetime_safe.new_datetime(o)
        return defaultfilters.date(d, "SHORT_DATE_FORMAT")
    elif isinstance(o, datetime.date):
        d = datetime_safe.new_date(o)
        return defaultfilters.date(d, "SHORT_DATE_FORMAT")
    elif isinstance(o, datetime.time):
        return defaultfilters.time(o, "H:i")
    elif isinstance(o, decimal.Decimal):
      return str(o)
    else:
        return super(JSONEncoder, self).default(o)
Пример #19
0
 def default(self, o):
     if isinstance(o, datetime.datetime):
         d = datetime_safe.new_datetime(o)
         return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
     elif isinstance(o, datetime.date):
         d = datetime_safe.new_date(o)
         return d.strftime(self.DATE_FORMAT)
     elif isinstance(o, datetime.time):
         return o.strftime(self.TIME_FORMAT)
     elif isinstance(o, decimal.Decimal):
         return str(o)
     else:
         return super(DjangoJSONEncoder, self).default(o)
Пример #20
0
 def default(self, o):
     if isinstance(o, datetime.datetime):
         d = datetime_safe.new_datetime(o)
         return int(time.mktime(d.timetuple()))
     elif isinstance(o, datetime.date):
         d = datetime_safe.new_date(o)
         return int(time.mktime(d.timetuple()))
     elif isinstance(o, datetime.time):
         return int(time.mktime(o.timetuple()))
     elif isinstance(o, decimal.Decimal):
         return str(o)
     elif isinstance(o, FieldFile):
         return unicode(o.url)
     else:
         return super(DjangoExtJSONEncoder, self).default(o)
Пример #21
0
 def default(self, o):
     if isinstance(o, datetime.datetime):
         d = datetime_safe.new_datetime(o)
         output = d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
         return "%s.%s" % (output, d.microsecond)
     elif isinstance(o, datetime.date):
         d = datetime_safe.new_date(o)
         return d.strftime(self.DATE_FORMAT)
     elif isinstance(o, datetime.time):
         output = o.strftime(self.TIME_FORMAT)
         return "%s.%s" % (output, o.microsecond)
     elif isinstance(o, decimal.Decimal):
         return str(o)
     else:
         return super(DjangoJSONEncoder, self).default(o)
Пример #22
0
    def render(self, name, value, attrs=None):
        if value is None:
            value = ""
        elif hasattr(value, "strftime"):
            value = datetime_safe.new_date(value)
            value = value.strftime(self.format)

        if attrs is None:
            attrs = {}

        dev = get_current_device()
        istyle_key, istyle_value = switch_istyle(dev.short_carrier, "numeric")
        if istyle_key and istyle_value:
            attrs[istyle_key] = istyle_value

        return super(MobileDateInput, self).render(name, value, attrs)
Пример #23
0
 def default(self, o):
     if isinstance(o, datetime.datetime):
         d = datetime_safe.new_datetime(o)
         return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
     elif isinstance(o, datetime.date):
         d = datetime_safe.new_date(o)
         return d.strftime(self.DATE_FORMAT)
     elif isinstance(o, datetime.time):
         return o.strftime(self.TIME_FORMAT)
     elif isinstance(o, decimal.Decimal):
         return str(o)
     else:
         try:
             return super(ResilientJSONEncoder, self).default(o)
         except Exception:
             return repr(o)
Пример #24
0
def localize_input(value, default=None):
    """
    Checks if an input value is a localizable type and returns it
    formatted with the appropriate formatting string of the current locale.
    """
    if isinstance(value, datetime.datetime):
        value = datetime_safe.new_datetime(value)
        format = smart_str(default or get_format('DATETIME_INPUT_FORMATS')[0])
        return value.strftime(format)
    elif isinstance(value, datetime.date):
        value = datetime_safe.new_date(value)
        format = smart_str(default or get_format('DATE_INPUT_FORMATS')[0])
        return value.strftime(format)
    elif isinstance(value, datetime.time):
        format = smart_str(default or get_format('TIME_INPUT_FORMATS')[0])
        return value.strftime(format)
    return value
Пример #25
0
 def value_from_datadict(self, data, files, name):
     y,m,d = self.parse_date_from_datadict(data, files, name)
     hr,min,sec = self.parse_time_from_datadict(data, files, name)
     if y == m == d == "0":
         return None
     if y and m and d:
         if settings.USE_L10N:
             input_format = get_format('DATE_INPUT_FORMATS')[0]
             try:
                 date_value = datetime.datetime(int(y), int(m), int(d), int(hr), int(min), int(sec))
             except ValueError, ve:
                 logger.error("Value Error: %s", ve)
                 pass
             else:
                 date_value = datetime_safe.new_date(date_value)
                 return date_value.strftime(input_format)
         else:
             return '%s-%s-%s %s:%s:%s' % (y, m, d, hr, min, sec)
Пример #26
0
 def value_from_datadict(self, data, files, name):
     y = data.get(self.year_field % name)
     m = data.get(self.month_field % name)
     if y == m == "0":
         return None
     if y and m:
         if settings.USE_L10N:
             input_format = get_format('DATE_INPUT_FORMATS')[0]
             try:
                 date_value = datetime.date(int(y), int(m), 1)
             except ValueError:
                 return '%s-%s-%s' % (y, m, 1)
             else:
                 date_value = datetime_safe.new_date(date_value)
                 return date_value.strftime(input_format)
         else:
             return '%s-%s-%s' % (y, m, 1)
     return data.get(name, None)
Пример #27
0
def localize_input(value, default=None):
    """
    Checks if an input value is a localizable type and returns it
    formatted with the appropriate formatting string of the current locale.
    """
    if isinstance(value, (decimal.Decimal, float) + six.integer_types):
        return number_format(value)
    elif isinstance(value, datetime.datetime):
        value = datetime_safe.new_datetime(value)
        format = force_str(default or get_format("DATETIME_INPUT_FORMATS")[0])
        return value.strftime(format)
    elif isinstance(value, datetime.date):
        value = datetime_safe.new_date(value)
        format = force_str(default or get_format("DATE_INPUT_FORMATS")[0])
        return value.strftime(format)
    elif isinstance(value, datetime.time):
        format = force_str(default or get_format("TIME_INPUT_FORMATS")[0])
        return value.strftime(format)
    return value
Пример #28
0
 def value_from_datadict(self, data, files, name):
     y = data.get(self.year_field % name)
     m = data.get(self.month_field % name)
     d = data.get(self.day_field % name)
     if y == m == d == '':
         return None
     if y is not None and m is not None and d is not None:
         if settings.USE_L10N:
             input_format = get_format('DATE_INPUT_FORMATS')[0]
             try:
                 date_value = datetime.date(int(y), int(m), int(d))
             except ValueError:
                 pass
             else:
                 date_value = datetime_safe.new_date(date_value)
                 return date_value.strftime(input_format)
         # Return pseudo-ISO dates with zeros for any unselected values,
         # e.g. '2017-0-23'.
         return '%s-%s-%s' % (y or 0, m or 0, d or 0)
     return data.get(name)
Пример #29
0
    def default(self, o):
        def _call_or_access(x):
            """Call if callable, otherwise just access."""
            return x() if hasattr(x, '__call__') else x

        if hasattr(o, 'as_dict'):
            # TODO as_dict circular reference checking fail
            d = _call_or_access(o.as_dict)
            if isinstance(d, dict):
                return d
            else:
                raise TypeError("as_dict method did not return a dict")
        elif hasattr(o, 'as_list'):
            # TODO as_list circular reference checking fail
            l = _call_or_access(o.as_list)
            if isinstance(l, list):
                return l
            else:
                raise TypeError("as_list method did not return a list")
        elif isinstance(o, QuerySet):
            # treat as list
            return list(o)
        elif isinstance(o, Model):
            return self._model_as_dict(o)
        elif isinstance(o, Promise):
            # see http://code.djangoproject.com/ticket/5868
            return force_unicode(o)
        elif isinstance(o, Decimal):
            # json.dumps() cant handle Decimal
            return str(o)
        elif isinstance(o, datetime.datetime):
            d = datetime_safe.new_datetime(o)
            return d.strftime("%s %s" % (self.DATE_FORMAT, self.TIME_FORMAT))
        elif isinstance(o, datetime.date):
            d = datetime_safe.new_date(o)
            return d.strftime(self.DATE_FORMAT)
        elif isinstance(o, datetime.time):
            return o.strftime(self.TIME_FORMAT)
        else:
            return super(ExtendedJSONEncoder, self).default(o)
Пример #30
0
def localize_input(value, default=None):
    """
    Checks if an input value is a localizable type and returns it
    formatted with the appropriate formatting string of the current locale.
    """
    if isinstance(value, six.string_types):  # Handle strings first for performance reasons.
        return value
    elif isinstance(value, bool):  # Don't treat booleans as numbers.
        return six.text_type(value)
    elif isinstance(value, (decimal.Decimal, float) + six.integer_types):
        return number_format(value)
    elif isinstance(value, datetime.datetime):
        value = datetime_safe.new_datetime(value)
        format = force_str(default or get_format('DATETIME_INPUT_FORMATS')[0])
        return value.strftime(format)
    elif isinstance(value, datetime.date):
        value = datetime_safe.new_date(value)
        format = force_str(default or get_format('DATE_INPUT_FORMATS')[0])
        return value.strftime(format)
    elif isinstance(value, datetime.time):
        format = force_str(default or get_format('TIME_INPUT_FORMATS')[0])
        return value.strftime(format)
    return value
Пример #31
0
 def _format_value(self, value):
     if hasattr(value, 'strftime'):
         value = datetime_safe.new_date(value)
         return value.strftime(self.format)
     return value
Пример #32
0
def fmt_date(o):
    d = datetime_safe.new_date(o)
    return d.strftime(DATE_FORMAT)