persiantools 4.0.2__tar.gz → 4.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {persiantools-4.0.2/persiantools.egg-info → persiantools-4.0.3}/PKG-INFO +1 -1
  2. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools/__init__.py +1 -1
  3. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools/jdatetime.py +2 -1
  4. {persiantools-4.0.2 → persiantools-4.0.3/persiantools.egg-info}/PKG-INFO +1 -1
  5. {persiantools-4.0.2 → persiantools-4.0.3}/tests/test_jalalidate.py +53 -9
  6. {persiantools-4.0.2 → persiantools-4.0.3}/tests/test_jalalidatetime.py +4 -0
  7. {persiantools-4.0.2 → persiantools-4.0.3}/LICENSE +0 -0
  8. {persiantools-4.0.2 → persiantools-4.0.3}/MANIFEST.in +0 -0
  9. {persiantools-4.0.2 → persiantools-4.0.3}/README.md +0 -0
  10. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools/characters.py +0 -0
  11. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools/digits.py +0 -0
  12. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools/utils.py +0 -0
  13. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools.egg-info/SOURCES.txt +0 -0
  14. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools.egg-info/dependency_links.txt +0 -0
  15. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools.egg-info/not-zip-safe +0 -0
  16. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools.egg-info/requires.txt +0 -0
  17. {persiantools-4.0.2 → persiantools-4.0.3}/persiantools.egg-info/top_level.txt +0 -0
  18. {persiantools-4.0.2 → persiantools-4.0.3}/pyproject.toml +0 -0
  19. {persiantools-4.0.2 → persiantools-4.0.3}/setup.cfg +0 -0
  20. {persiantools-4.0.2 → persiantools-4.0.3}/setup.py +0 -0
  21. {persiantools-4.0.2 → persiantools-4.0.3}/tests/test_characters.py +0 -0
  22. {persiantools-4.0.2 → persiantools-4.0.3}/tests/test_digits.py +0 -0
  23. {persiantools-4.0.2 → persiantools-4.0.3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: persiantools
3
- Version: 4.0.2
3
+ Version: 4.0.3
4
4
  Summary: Jalali date and datetime with other tools
5
5
  Home-page: https://github.com/majiidd/persiantools
6
6
  Author: Majid Hajiloo
@@ -7,7 +7,7 @@
7
7
 
8
8
  __title__ = "persiantools"
9
9
  __url__ = "https://github.com/majiidd/persiantools"
10
- __version__ = "4.0.2"
10
+ __version__ = "4.0.3"
11
11
  __build__ = __version__
12
12
  __author__ = "Majid Hajiloo"
13
13
  __author_email__ = "majid.hajiloo@gmail.com"
@@ -247,9 +247,10 @@ class JalaliDate:
247
247
  days %= 12053
248
248
  jalali_year += 4 * (days // 1461)
249
249
  days %= 1461
250
- jalali_year += (days - 1) // 365
251
250
 
251
+ # Correct for the leap year case
252
252
  if days > 365:
253
+ jalali_year += (days - 1) // 365
253
254
  days = (days - 1) % 365
254
255
 
255
256
  # Determine the Jalali month and day
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: persiantools
3
- Version: 4.0.2
3
+ Version: 4.0.3
4
4
  Summary: Jalali date and datetime with other tools
5
5
  Home-page: https://github.com/majiidd/persiantools
6
6
  Author: Majid Hajiloo
@@ -14,8 +14,6 @@ class TestJalaliDate(TestCase):
14
14
  self.assertEqual(JalaliDate(1367, 2, 14).to_gregorian(), date(1988, 5, 4))
15
15
  self.assertEqual(JalaliDate(1395, 3, 21).to_gregorian(), date(2016, 6, 10))
16
16
  self.assertEqual(JalaliDate(1395, 12, 9).to_gregorian(), date(2017, 2, 27))
17
- self.assertEqual(JalaliDate(1395, 12, 30).to_gregorian(), date(2017, 3, 20))
18
- self.assertEqual(JalaliDate(1396, 1, 1).to_gregorian(), date(2017, 3, 21))
19
17
  self.assertEqual(JalaliDate(1400, 6, 31).to_gregorian(), date(2021, 9, 22))
20
18
  self.assertEqual(JalaliDate(1396, 7, 27).to_gregorian(), date(2017, 10, 19))
21
19
  self.assertEqual(JalaliDate(1397, 11, 29).to_gregorian(), date(2019, 2, 18))
@@ -23,12 +21,32 @@ class TestJalaliDate(TestCase):
23
21
  self.assertEqual(JalaliDate(1400, 4, 25).to_gregorian(), date(2021, 7, 16))
24
22
  self.assertEqual(JalaliDate(1400, 12, 20).to_gregorian(), date(2022, 3, 11))
25
23
  self.assertEqual(JalaliDate(1403, 1, 5).to_gregorian(), date(2024, 3, 24))
26
- self.assertEqual(JalaliDate(1390, 10, 11).to_gregorian(), date(2012, 1, 1))
27
- self.assertEqual(JalaliDate(1398, 10, 11).to_gregorian(), date(2020, 1, 1))
28
- self.assertEqual(JalaliDate(1402, 10, 11).to_gregorian(), date(2024, 1, 1))
29
24
  self.assertEqual(JalaliDate(1402, 10, 10).to_gregorian(), date(2023, 12, 31))
30
25
  self.assertEqual(JalaliDate(1403, 10, 11).to_gregorian(), date(2024, 12, 31))
31
26
  self.assertEqual(JalaliDate(1403, 2, 23).to_gregorian(), date(2024, 5, 12))
27
+ self.assertEqual(JalaliDate(1403, 4, 3).to_gregorian(), date(2024, 6, 23))
28
+
29
+ self.assertEqual(JalaliDate(1391, 12, 30).to_gregorian(), date(2013, 3, 20))
30
+ self.assertEqual(JalaliDate(1395, 12, 30).to_gregorian(), date(2017, 3, 20))
31
+ self.assertEqual(JalaliDate(1399, 12, 30).to_gregorian(), date(2021, 3, 20))
32
+ self.assertEqual(JalaliDate(1403, 12, 30).to_gregorian(), date(2025, 3, 20))
33
+
34
+ self.assertEqual(JalaliDate(1378, 10, 11).to_gregorian(), date(2000, 1, 1))
35
+ self.assertEqual(JalaliDate(1379, 10, 12).to_gregorian(), date(2001, 1, 1))
36
+ self.assertEqual(JalaliDate(1390, 10, 11).to_gregorian(), date(2012, 1, 1))
37
+ self.assertEqual(JalaliDate(1393, 10, 11).to_gregorian(), date(2015, 1, 1))
38
+ self.assertEqual(JalaliDate(1398, 10, 11).to_gregorian(), date(2020, 1, 1))
39
+ self.assertEqual(JalaliDate(1399, 10, 12).to_gregorian(), date(2021, 1, 1))
40
+ self.assertEqual(JalaliDate(1402, 10, 11).to_gregorian(), date(2024, 1, 1))
41
+ self.assertEqual(JalaliDate(1403, 10, 12).to_gregorian(), date(2025, 1, 1))
42
+
43
+ self.assertEqual(JalaliDate(1367, 1, 1).to_gregorian(), date(1988, 3, 21))
44
+ self.assertEqual(JalaliDate(1396, 1, 1).to_gregorian(), date(2017, 3, 21))
45
+ self.assertEqual(JalaliDate(1399, 1, 1).to_gregorian(), date(2020, 3, 20))
46
+ self.assertEqual(JalaliDate(1400, 1, 1).to_gregorian(), date(2021, 3, 21))
47
+ self.assertEqual(JalaliDate(1402, 1, 1).to_gregorian(), date(2023, 3, 21))
48
+ self.assertEqual(JalaliDate(1403, 1, 1).to_gregorian(), date(2024, 3, 20))
49
+ self.assertEqual(JalaliDate(1404, 1, 1).to_gregorian(), date(2025, 3, 21))
32
50
 
33
51
  self.assertEqual(JalaliDate.today().to_gregorian(), date.today())
34
52
 
@@ -39,6 +57,11 @@ class TestJalaliDate(TestCase):
39
57
  self.assertEqual(JalaliDate(date(2000, 1, 1)), JalaliDate(1378, 10, 11))
40
58
  self.assertEqual(JalaliDate(date(2017, 10, 19)), JalaliDate(1396, 7, 27))
41
59
  self.assertEqual(JalaliDate(date(2019, 2, 18)), JalaliDate(1397, 11, 29))
60
+ self.assertEqual(JalaliDate(date(2020, 3, 20)), JalaliDate(1399, 1, 1))
61
+ self.assertEqual(JalaliDate(date(2021, 3, 21)), JalaliDate(1400, 1, 1))
62
+ self.assertEqual(JalaliDate(date(2023, 3, 21)), JalaliDate(1402, 1, 1))
63
+ self.assertEqual(JalaliDate(date(2025, 1, 1)), JalaliDate(1403, 10, 12))
64
+
42
65
  self.assertEqual(JalaliDate.to_jalali(1990, 9, 23), JalaliDate(1369, 7, 1))
43
66
  self.assertEqual(JalaliDate.to_jalali(1990, 9, 23), JalaliDate(1369, 7, 1))
44
67
  self.assertEqual(JalaliDate.to_jalali(2013, 9, 16), JalaliDate(1392, 6, 25))
@@ -46,13 +69,28 @@ class TestJalaliDate(TestCase):
46
69
  self.assertEqual(JalaliDate.to_jalali(2021, 2, 11), JalaliDate(1399, 11, 23))
47
70
  self.assertEqual(JalaliDate.to_jalali(2021, 7, 16), JalaliDate(1400, 4, 25))
48
71
  self.assertEqual(JalaliDate.to_jalali(2024, 3, 24), JalaliDate(1403, 1, 5))
49
- self.assertEqual(JalaliDate.to_jalali(2012, 1, 1), JalaliDate(1390, 10, 11))
50
- self.assertEqual(JalaliDate.to_jalali(2020, 1, 1), JalaliDate(1398, 10, 11))
51
- self.assertEqual(JalaliDate.to_jalali(2024, 1, 1), JalaliDate(1402, 10, 11))
52
- self.assertEqual(JalaliDate.to_jalali(2024, 1, 1), JalaliDate(1402, 10, 11))
72
+ self.assertEqual(JalaliDate.to_jalali(2020, 3, 19), JalaliDate(1398, 12, 29))
53
73
  self.assertEqual(JalaliDate.to_jalali(2023, 12, 31), JalaliDate(1402, 10, 10))
54
74
  self.assertEqual(JalaliDate.to_jalali(2024, 12, 31), JalaliDate(1403, 10, 11))
55
75
  self.assertEqual(JalaliDate.to_jalali(2024, 5, 12), JalaliDate(1403, 2, 23))
76
+ self.assertEqual(JalaliDate.to_jalali(2024, 6, 23), JalaliDate(1403, 4, 3))
77
+
78
+ self.assertEqual(JalaliDate.to_jalali(2021, 3, 20), JalaliDate(1399, 12, 30))
79
+ self.assertEqual(JalaliDate.to_jalali(2025, 3, 20), JalaliDate(1403, 12, 30))
80
+
81
+ self.assertEqual(JalaliDate.to_jalali(2000, 1, 1), JalaliDate(1378, 10, 11))
82
+ self.assertEqual(JalaliDate.to_jalali(2012, 1, 1), JalaliDate(1390, 10, 11))
83
+ self.assertEqual(JalaliDate.to_jalali(2013, 1, 1), JalaliDate(1391, 10, 12))
84
+ self.assertEqual(JalaliDate.to_jalali(2020, 1, 1), JalaliDate(1398, 10, 11))
85
+ self.assertEqual(JalaliDate.to_jalali(2024, 1, 1), JalaliDate(1402, 10, 11))
86
+ self.assertEqual(JalaliDate.to_jalali(2025, 1, 1), JalaliDate(1403, 10, 12))
87
+
88
+ self.assertEqual(JalaliDate.to_jalali(1988, 3, 21), JalaliDate(1367, 1, 1))
89
+ self.assertEqual(JalaliDate.to_jalali(2019, 3, 21), JalaliDate(1398, 1, 1))
90
+ self.assertEqual(JalaliDate.to_jalali(2020, 3, 20), JalaliDate(1399, 1, 1))
91
+ self.assertEqual(JalaliDate.to_jalali(2021, 3, 21), JalaliDate(1400, 1, 1))
92
+ self.assertEqual(JalaliDate.to_jalali(2024, 3, 20), JalaliDate(1403, 1, 1))
93
+ self.assertEqual(JalaliDate.to_jalali(2025, 3, 21), JalaliDate(1404, 1, 1))
56
94
 
57
95
  self.assertEqual(JalaliDate(date.today()), JalaliDate.today())
58
96
 
@@ -71,6 +109,7 @@ class TestJalaliDate(TestCase):
71
109
  self.assertEqual(JalaliDate.check_date(1399, 11, 31), False)
72
110
  self.assertEqual(JalaliDate.check_date(1400, 4, 25), True)
73
111
  self.assertEqual(JalaliDate.check_date(1400, 12, 30), False)
112
+ self.assertEqual(JalaliDate.check_date(1403, 4, 3), True)
74
113
  self.assertEqual(JalaliDate.check_date(1403, 12, 30), True)
75
114
 
76
115
  def test_completeday(self):
@@ -241,6 +280,7 @@ class TestJalaliDate(TestCase):
241
280
  self.assertEqual(JalaliDate(1397, 11, 29).week_of_year(), 49)
242
281
  self.assertEqual(JalaliDate(1399, 1, 2).week_of_year(), 2)
243
282
  self.assertEqual(JalaliDate(1403, 1, 5).week_of_year(), 2)
283
+ self.assertEqual(JalaliDate(1403, 4, 3).week_of_year(), 15)
244
284
 
245
285
  self.assertEqual(JalaliDate(1367, 2, 14).weekday(), 4)
246
286
  self.assertEqual(JalaliDate(1393, 1, 1).weekday(), 6)
@@ -253,6 +293,7 @@ class TestJalaliDate(TestCase):
253
293
  self.assertEqual(JalaliDate(1397, 1, 1).weekday(), 4)
254
294
  self.assertEqual(JalaliDate(1397, 11, 29).weekday(), 2)
255
295
  self.assertEqual(JalaliDate(1400, 1, 1).weekday(), 1)
296
+ self.assertEqual(JalaliDate(1403, 4, 3).isoweekday(), 2)
256
297
  self.assertEqual(JalaliDate(1400, 1, 1).isoweekday(), 2)
257
298
  self.assertEqual(JalaliDate(1396, 7, 27).isoweekday(), 6)
258
299
  self.assertEqual(JalaliDate(1397, 11, 29).isoweekday(), 3)
@@ -273,6 +314,8 @@ class TestJalaliDate(TestCase):
273
314
  self.assertTrue(JalaliDate(1367, 2, 14) <= date(1988, 5, 4))
274
315
  self.assertFalse(JalaliDate(1367, 2, 14) >= JalaliDate(1369, 1, 1))
275
316
  self.assertTrue(JalaliDate(1397, 11, 29) >= JalaliDate(1397, 11, 10))
317
+ self.assertTrue(JalaliDate(1403, 12, 30) > JalaliDate(1403, 12, 29))
318
+ self.assertTrue(JalaliDate(1404, 1, 1) > JalaliDate(1403, 12, 30))
276
319
 
277
320
  self.assertEqual(JalaliDate(1395, 3, 21) + timedelta(days=2), JalaliDate(1395, 3, 23))
278
321
  self.assertEqual(JalaliDate(1396, 7, 27) + timedelta(days=4), JalaliDate(1396, 8, 1))
@@ -284,6 +327,7 @@ class TestJalaliDate(TestCase):
284
327
  self.assertEqual(JalaliDate(1395, 3, 21) - date(2016, 5, 3), timedelta(days=38))
285
328
  self.assertEqual(JalaliDate(1395, 12, 30) - JalaliDate(1395, 1, 1), timedelta(days=365))
286
329
  self.assertEqual(JalaliDate(1403, 1, 1) - JalaliDate(1402, 12, 29), timedelta(days=1))
330
+ self.assertEqual(JalaliDate(1404, 1, 1) - JalaliDate(1403, 12, 29), timedelta(days=2))
287
331
 
288
332
  self.assertFalse(JalaliDate(1367, 2, 14) == (1367, 2, 14))
289
333
  self.assertFalse(JalaliDate(1367, 2, 14) == "")
@@ -22,6 +22,10 @@ class TestJalaliDateTime(TestCase):
22
22
  JalaliDateTime(1399, 11, 23, 13, 12, 0, 0).to_gregorian(),
23
23
  datetime(2021, 2, 11, 13, 12, 0, 0),
24
24
  )
25
+ self.assertEqual(
26
+ JalaliDateTime(1404, 1, 1, 13, 12, 0, 0).to_gregorian(),
27
+ datetime(2025, 3, 21, 13, 12, 0, 0),
28
+ )
25
29
 
26
30
  def test_gregorian_to_shamsi(self):
27
31
  self.assertEqual(
File without changes
File without changes
File without changes
File without changes
File without changes