Ejemplo n.º 1
0
    def test_additions(self):
        self.assertEqual(JalaliDate(JalaliDate(1395, 3, 21)),
                         JalaliDate(1395, 3, 21))

        self.assertEqual(JalaliDate.days_before_month(1), 0)
        self.assertEqual(JalaliDate.days_before_month(12), 336)

        self.assertEqual(
            JalaliDate(1395, 1, 1).replace(1367), JalaliDate(1367, 1, 1))
        self.assertEqual(
            JalaliDate(1395, 1, 1).replace(month=2), JalaliDate(1395, 2, 1))
        self.assertEqual(
            JalaliDate(1367, 1, 1).replace(year=1396, month=7),
            JalaliDate(1396, 7, 1))
        self.assertEqual(
            JalaliDate(1395, 1, 1, "en").replace(1367, 2, 14, "fa"),
            JalaliDate(1367, 2, 14, "en"),
        )

        self.assertEqual(JalaliDate.fromtimestamp(time()), JalaliDate.today())
        self.assertEqual(JalaliDate.fromtimestamp(578707200),
                         JalaliDate(1367, 2, 14))
        self.assertEqual(JalaliDate.fromtimestamp(1508371200),
                         JalaliDate(1396, 7, 27))

        with pytest.raises(ValueError):
            JalaliDate(1400, 1, 1, "us")
Ejemplo n.º 2
0
    def test_additions(self):
        self.assertEqual(JalaliDate(JalaliDate(1395, 3, 21)), JalaliDate(1395, 3, 21))

        self.assertEqual(JalaliDate.days_before_month(1), 0)
        self.assertEqual(JalaliDate.days_before_month(12), 336)

        self.assertEqual(JalaliDate(1395, 1, 1).replace(1367), JalaliDate(1367, 1, 1))
        self.assertEqual(JalaliDate(1395, 1, 1).replace(month=2), JalaliDate(1395, 2, 1))
        self.assertEqual(JalaliDate(1367, 1, 1).replace(year=1396, month=7), JalaliDate(1396, 7, 1))
        self.assertEqual(JalaliDate(1395, 1, 1, "en").replace(1367, 2, 14, "fa"), JalaliDate(1367, 2, 14, "en"))

        self.assertEqual(JalaliDate.fromtimestamp(time()), JalaliDate.today())
        self.assertEqual(JalaliDate.fromtimestamp(578707200), JalaliDate(1367, 2, 14))
        self.assertEqual(JalaliDate.fromtimestamp(1508371200), JalaliDate(1396, 7, 27))

        try:
            JalaliDate(1400, 1, 1, "us")
        except ValueError:
            assert True
        else:
            assert False
    def __init__(self, field, request, params, model, model_admin, field_path):
        self.lookup_kwarg_gte = '{0}__gte'.format(field_path)
        self.lookup_kwarg_lte = '{0}__lte'.format(field_path)
        if 'fa' in request.LANGUAGE_CODE.lower():
            self.locale = 'persian'
        else:
            self.locale = 'gregorian'

        super().__init__(field, request, params, model, model_admin,
                         field_path)
        self.request = request

        temp = self.used_parameters.copy()
        self.value1 = ''
        self.value2 = ''
        for key, value in temp.items():
            if value and key in [self.lookup_kwarg_gte, self.lookup_kwarg_lte]:
                try:
                    ret = int(value) / 1000
                    # if self.local
                    date = datetime.datetime.fromtimestamp(ret)
                    self.used_parameters[key] = str(date)
                    if key == self.lookup_kwarg_gte:
                        if self.locale is 'persian':
                            self.value1 = JalaliDate.fromtimestamp(
                                ret).strftime("%Y-%m-%d")
                        else:
                            self.value1 = date.strftime("%Y-%m-%d")
                    else:
                        if self.locale is 'persian':
                            self.value2 = JalaliDate.fromtimestamp(
                                ret).strftime("%Y-%m-%d")
                        else:
                            self.value2 = date.strftime("%Y-%m-%d")
                except Exception as e:
                    continue
            else:
                self.used_parameters.pop(key, None)