1- from datetime import datetime , date
2-
1+ from datetime import date , datetime
2+ from typing import Union
33
44BRAZILIAN_REGIONS = {
5- "N" : ["AC" , "AP" , "AM" , "PA" , "RO" , "RR" , "TO" ],
6- "NE" : ["AL" , "BA" , "CE" , "MA" , "PB" , "PE" , "PI" , "RN" , "SE" ],
7- "CO" : ["DF" , "GO" , "MT" , "MS" ],
8- "SE" : ["ES" , "MG" , "RJ" , "SP" ],
9- "S" : ["PR" , "RS" , "SC" ]
5+ "N" : ["AC" , "AP" , "AM" , "PA" , "RO" , "RR" , "TO" ],
6+ "NE" : ["AL" , "BA" , "CE" , "MA" , "PB" , "PE" , "PI" , "RN" , "SE" ],
7+ "CO" : ["DF" , "GO" , "MT" , "MS" ],
8+ "SE" : ["ES" , "MG" , "RJ" , "SP" ],
9+ "S" : ["PR" , "RS" , "SC" ],
1010}
1111BRAZILIAN_STATES = []
1212for state in BRAZILIAN_REGIONS .values ():
1313 BRAZILIAN_STATES .extend (state )
1414
1515
1616class Date :
17- def __init__ (self , d = None , format = "%Y-%m-%d" , mindate = date (1900 , 1 , 1 )):
18- d = d if d else mindate
17+ def __init__ (self , d : Union [str , datetime , "Date" , date ], format : str = "%Y-%m-%d" ) -> None :
1918 if isinstance (d , str ):
2019 if d == "now" or d == "today" :
2120 d = date .today ()
@@ -29,27 +28,27 @@ def __init__(self, d=None, format="%Y-%m-%d", mindate=date(1900, 1, 1)):
2928 pass
3029 else :
3130 raise ValueError ()
32- self .date = d
31+ self .date : date = d
3332
34- def format (self , fmts = "%Y-%m-%d" ):
33+ def format (self , fmts : str = "%Y-%m-%d" ) -> str :
3534 return datetime .strftime (self .date , fmts )
3635
37- def __gt__ (self , other ):
36+ def __gt__ (self , other ) -> bool :
3837 return self .date > other .date
3938
40- def __ge__ (self , other ):
39+ def __ge__ (self , other ) -> bool :
4140 return self .date >= other .date
4241
43- def __lt__ (self , other ):
42+ def __lt__ (self , other ) -> bool :
4443 return self .date < other .date
4544
46- def __le__ (self , other ):
45+ def __le__ (self , other ) -> bool :
4746 return self .date <= other .date
4847
49- def __eq__ (self , other ):
48+ def __eq__ (self , other ) -> bool :
5049 return self .date == other .date
5150
52- def __repr__ (self ):
51+ def __repr__ (self ) -> str :
5352 return self .format ()
5453
5554 __str__ = __repr__
0 commit comments