File tree Expand file tree Collapse file tree 1 file changed +27
-6
lines changed
Expand file tree Collapse file tree 1 file changed +27
-6
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,17 @@ class StartEndDate(BaseModelValidated):
1515 def date_validator (cls , value : str ) -> date | None :
1616 if not value :
1717 return None
18- return datetime .strptime (value , "%b %Y" ).date ()
18+ formats = [
19+ "%b %Y" ,
20+ "%Y-%m" ,
21+ ]
22+ while True :
23+ date_format = formats .pop (0 )
24+ try :
25+ return datetime .strptime (str (value ), date_format ).date ()
26+ except Exception as e :
27+ if not formats :
28+ raise e
1929
2030
2131class StartEndDateEducation (StartEndDate ):
@@ -25,7 +35,18 @@ class StartEndDateEducation(StartEndDate):
2535 def date_validator (cls , value : str ) -> date | None :
2636 if not value :
2737 return None
28- return datetime .strptime (value , "%Y" ).date ()
38+ formats = [
39+ "%Y" ,
40+ "%b %Y" ,
41+ "%Y-%m" ,
42+ ]
43+ while True :
44+ date_format = formats .pop (0 )
45+ try :
46+ return datetime .strptime (str (value ), date_format ).date ()
47+ except Exception as e :
48+ if not formats :
49+ raise e
2950
3051
3152class Duration (BaseModel ):
@@ -51,15 +72,15 @@ class Education(BaseModelValidated):
5172 image_url : HttpUrl | None
5273 university_name : str
5374 university_link : HttpUrl | None
54- degree : str
55- major : str
75+ degree : str | None
76+ major : str | None
5677 date : StartEndDateEducation | None
5778
5879
5980class Certification (BaseModelValidated ):
60- image_url : HttpUrl | None
81+ image_url : str | None
6182 title : str
62- course_link : HttpUrl | None
83+ course_link : str | None
6384 issuer : str
6485 credential : str | None
6586 issued_date : date | None
You can’t perform that action at this time.
0 commit comments