def format_datetime(self, data):
        """
        A hook to control how datetimes are formatted.

        Can be overridden at the ``Serializer`` level (``datetime_formatting``)
        or globally (via ``settings.TASTYPIE_DATETIME_FORMATTING``).

        Default is ``iso-8601``, which looks like "2010-12-16T03:02:14".
        """
        data = make_naive(data)
        return data.strftime(self.datetime_formatting)
Example #2
0
    def format_datetime(self, data):
        """
        A hook to control how datetimes are formatted.

        Can be overridden at the ``Serializer`` level (``datetime_formatting``)
        or globally (via ``settings.TASTYPIE_DATETIME_FORMATTING``).

        Default is ``iso-8601``, which looks like "2010-12-16T03:02:14".
        """
        data = make_naive(data)
        if self.datetime_formatting == 'rfc-2822':
            return format_datetime(data)

        return data.isoformat()
    def format_datetime(self, data):
        """
        A hook to control how datetimes are formatted.

        Can be overridden at the ``Serializer`` level (``datetime_formatting``)
        or globally (via ``settings.TASTYPIE_DATETIME_FORMATTING``).

        Default is ``iso-8601``, which looks like "2010-12-16T03:02:14".
        """
        data = make_naive(data)
        if self.datetime_formatting == 'rfc-2822':
            return format_datetime(data)
        if self.datetime_formatting == 'iso-8601-strict':
            # Remove microseconds to strictly adhere to iso-8601
            data = data - datetime.timedelta(microseconds = data.microsecond)

        return data.isoformat()
Example #4
0
    def format_datetime(self, data):
        """
        A hook to control how datetimes are formatted.

        Can be overridden at the ``Serializer`` level (``datetime_formatting``)
        or globally (via ``settings.TASTYPIE_DATETIME_FORMATTING``).

        Default is ``iso-8601``, which looks like "2010-12-16T03:02:14".
        """
        data = make_naive(data)
        if self.datetime_formatting == 'rfc-2822':
            return format_datetime(data)
        
        if self.tzinfo:
        	data = datetime.datetime(data.year, data.month, data.day, data.hour, data.minute, data.second, data.microsecond, self.tzinfo)

        return data.isoformat()
 def test_get_list_json(self):
     """Asserts api returns a full list."""
     for _ in range(0, 3):
         TestQuotaModel.objects.create()
     resp = self.api_client.get('/api/v1/quota/', format='json', authentication=self.get_credentials())
     self.assertValidJSONResponse(resp)
     self.assertEqual(len(self.deserialize(resp)['objects']), 1)
     quota_json = {
         'target': 100,
         'start_date': self.quota.start_date.isoformat(),
         'expiration_date': self.quota.expiration_date.isoformat(),
         'model_count': 3,
         'quota_datetime': make_naive(self.quota.quota_datetime).isoformat(),
         'id': self.quota.pk,
         'app_label': 'edc_quota',
         'model_name': 'TestQuotaModel',
         'resource_uri': '/api/v1/quota/{0}/'.format(self.quota.pk)
     }
     self.assertEqual(self.deserialize(resp)['objects'][0], quota_json)
Example #6
0
    def format_datetime(self, data):
        """
        A hook to control how datetimes are formatted.

        Can be overridden at the ``Serializer`` level (``datetime_formatting``)
        or globally (via ``settings.TASTYPIE_DATETIME_FORMATTING``).

        Default is ``iso-8601``, which looks like "2010-12-16T03:02:14+00:00".
        """
        data = make_naive(data)
        if self.datetime_formatting == 'rfc-2822':
            return format_datetime(data)

        if self.tzinfo:
            data = datetime.datetime(data.year, data.month, data.day,\
                    data.hour, data.minute, data.second, data.microsecond,\
                    self.tzinfo)

            #return data.isoformat()
            return data
Example #7
0
    def format_datetime(self, data):
        """
        A hook to control how datetimes are formatted.

        Can be overridden at the ``Serializer`` level (``datetime_formatting``)
        or globally (via ``settings.TASTYPIE_DATETIME_FORMATTING``).

        Default is ``iso-8601``, which looks like "2010-12-16T03:02:14".
        """
        data = make_naive(data)
        if self.datetime_formatting == 'rfc-2822':
            return format_datetime(data)

        r = data.isoformat()
        if data.microsecond:
            r = r[:23] + r[26:]
        if r.endswith('+00:00'):
            r = r[:-6] + 'Z'
        if not '+' in r:
            r = r+'Z'
        return r