예제 #1
0
    def test_datetime_to_dtstr_to_datetime(self):
        dt = datetime.datetime(2015, 11, 9, 22, 15, 45, 125000)
        dtstr = datetime_to_dtstr(dt)
        self.assertEqual(dtstr, 'igsiclph')
        self.assertEqual(dtstr_to_datetime(dtstr), dt)

        dt = datetime.datetime(2015, 7, 9, 22, 15, 45, 125000)
        dtstr = datetime_to_dtstr(dt)
        self.assertEqual(dtstr, 'ibwr6tph')
        self.assertEqual(dtstr_to_datetime(dtstr), dt)
예제 #2
0
    def test_datetime_to_dtstr_to_datetime_with_tz(self):
        dt = timezone.make_aware(datetime.datetime(2015, 11, 9, 22, 15, 45, 125000), pytz.timezone('Europe/Kiev'))
        dtstr = datetime_to_dtstr(dt)
        self.assertEqual(dtstr, 'igse2a5h')
        self.assertEqual(dtstr_to_datetime(dtstr, to_tz=pytz.timezone('Europe/Kiev')), dt)

        dt = timezone.make_aware(datetime.datetime(2015, 7, 9, 22, 15, 45, 125000), pytz.timezone('Europe/Kiev'))
        dtstr = datetime_to_dtstr(dt)
        self.assertEqual(dtstr, 'ibwkrcdh')
        self.assertEqual(dtstr_to_datetime(dtstr, to_tz=pytz.timezone('Europe/Kiev')), dt)
예제 #3
0
    def test_datetime_to_dtstr_to_datetime(self):
        dt = datetime.datetime(2015, 11, 9, 22, 15, 45, 125000)
        dtstr = datetime_to_dtstr(dt)
        self.assertEqual(dtstr, 'igsiclph')
        self.assertEqual(dtstr_to_datetime(dtstr), dt)

        dt = datetime.datetime(2015, 7, 9, 22, 15, 45, 125000)
        dtstr = datetime_to_dtstr(dt)
        self.assertEqual(dtstr, 'ibwr6tph')
        self.assertEqual(dtstr_to_datetime(dtstr), dt)
예제 #4
0
    def test_datetime_to_dtstr_to_datetime_for_aware(self):
        dt1 = timezone.make_aware(datetime.datetime(2015, 11, 9, 22, 15, 45, 125000), pytz.timezone('Europe/Kiev'))
        dtstr = datetime_to_dtstr(dt1)
        self.assertEqual(dtstr, 'igse2a5h')
        dt2 = timezone.make_aware(dtstr_to_datetime(dtstr), pytz.UTC).astimezone(pytz.timezone('Europe/Kiev'))
        self.assertEqual(dt2, dt1)

        dt1 = timezone.make_aware(datetime.datetime(2015, 7, 9, 22, 15, 45, 125000), pytz.timezone('Europe/Kiev'))
        dtstr = datetime_to_dtstr(dt1)
        self.assertEqual(dtstr, 'ibwkrcdh')
        dt2 = timezone.make_aware(dtstr_to_datetime(dtstr), pytz.UTC).astimezone(pytz.timezone('Europe/Kiev'))
        self.assertEqual(dt2, dt1)
예제 #5
0
    def test_datetime_to_dtstr_to_datetime_with_tz(self):
        dt = timezone.make_aware(
            datetime.datetime(2015, 11, 9, 22, 15, 45, 125000),
            pytz.timezone('Europe/Kiev'))
        dtstr = datetime_to_dtstr(dt)
        self.assertEqual(dtstr, 'igse2a5h')
        self.assertEqual(
            dtstr_to_datetime(dtstr, to_tz=pytz.timezone('Europe/Kiev')), dt)

        dt = timezone.make_aware(
            datetime.datetime(2015, 7, 9, 22, 15, 45, 125000),
            pytz.timezone('Europe/Kiev'))
        dtstr = datetime_to_dtstr(dt)
        self.assertEqual(dtstr, 'ibwkrcdh')
        self.assertEqual(
            dtstr_to_datetime(dtstr, to_tz=pytz.timezone('Europe/Kiev')), dt)
예제 #6
0
 def test_datetime_to_dtstr_without_dt(self):
     now = datetime.datetime.utcnow()
     now = now.replace(
         microsecond=int(int(now.microsecond / 1e3) *
                         1e3))  # because 1s = 1000ms in timestamp
     dtstr = datetime_to_dtstr()
     self.assertTrue(now <= dtstr_to_datetime(dtstr) < now +
                     datetime.timedelta(seconds=5))
예제 #7
0
    def test_datetime_to_dtstr_to_datetime_for_aware(self):
        dt1 = timezone.make_aware(
            datetime.datetime(2015, 11, 9, 22, 15, 45, 125000),
            pytz.timezone('Europe/Kiev'))
        dtstr = datetime_to_dtstr(dt1)
        self.assertEqual(dtstr, 'igse2a5h')
        dt2 = timezone.make_aware(dtstr_to_datetime(dtstr),
                                  pytz.UTC).astimezone(
                                      pytz.timezone('Europe/Kiev'))
        self.assertEqual(dt2, dt1)

        dt1 = timezone.make_aware(
            datetime.datetime(2015, 7, 9, 22, 15, 45, 125000),
            pytz.timezone('Europe/Kiev'))
        dtstr = datetime_to_dtstr(dt1)
        self.assertEqual(dtstr, 'ibwkrcdh')
        dt2 = timezone.make_aware(dtstr_to_datetime(dtstr),
                                  pytz.UTC).astimezone(
                                      pytz.timezone('Europe/Kiev'))
        self.assertEqual(dt2, dt1)
예제 #8
0
def generate_img_id(profile, ext=None, label=None, tmp=False):
    """
    Generates img_id.
    """
    if ext and not ext.startswith('.'):
        ext = '.' + ext
    if label:
        label = re.sub(r'[^a-z0-9_\-]', '', label, flags=re.I)
        label = re.sub(r'_+', '_', label)
        label = label[:60]
    return '{profile}:{tmp}{dtstr}_{rand}{label}{ext}'.format(
        profile=profile,
        tmp=(dju_settings.DJU_IMG_UPLOAD_TMP_PREFIX if tmp else ''),
        dtstr=datetime_to_dtstr(),
        rand=get_random_string(4, 'abcdefghijklmnopqrstuvwxyz0123456789'),
        label=(('_' + label) if label else ''),
        ext=(ext or ''),
    )
예제 #9
0
def generate_img_id(profile, ext=None, label=None, tmp=False):
    """
    Generates img_id.
    """
    if ext and not ext.startswith('.'):
        ext = '.' + ext
    if label:
        label = re.sub(r'[^a-z0-9_\-]', '', label, flags=re.I)
        label = re.sub(r'_+', '_', label)
        label = label[:60]
    return '{profile}:{tmp}{dtstr}_{rand}{label}{ext}'.format(
        profile=profile,
        tmp=(dju_settings.DJU_IMG_UPLOAD_TMP_PREFIX if tmp else ''),
        dtstr=datetime_to_dtstr(),
        rand=get_random_string(4, 'abcdefghijklmnopqrstuvwxyz0123456789'),
        label=(('_' + label) if label else ''),
        ext=(ext or ''),
    )
예제 #10
0
 def test_datetime_to_dtstr_without_dt(self):
     now = datetime.datetime.utcnow()
     now = now.replace(microsecond=int(int(now.microsecond / 1e3) * 1e3))  # because 1s = 1000ms in timestamp
     dtstr = datetime_to_dtstr()
     self.assertTrue(now <= dtstr_to_datetime(dtstr) < now + datetime.timedelta(seconds=5))