@@ -10,7 +10,7 @@ class SignalLastUpdatedParser:
10
10
11
11
def __init__ (self , covidcast_meta_data : list ) -> None :
12
12
self .covidcast_meta_data = covidcast_meta_data
13
- self .year_month_date_format = '%Y%m '
13
+ self .year_week_date_format = '%Y-%W-%w '
14
14
self .year_month_day_date_format = '%Y%m%d'
15
15
16
16
def format_date (self , date : str ,) -> datetime :
@@ -23,7 +23,9 @@ def format_date(self, date: str,) -> datetime:
23
23
"""
24
24
formated_date : datetime
25
25
if len (date ) == 6 :
26
- formated_date = datetime .strptime (date , self .year_month_date_format )
26
+ year , week = date [:4 ], date [4 :]
27
+ logger .info (f"Date: { date } , year: { year } , week: { int (week )- 1 } " )
28
+ formated_date = datetime .strptime (f"{ int (year )} -{ int (week )- 1 } -1" , self .year_week_date_format )
27
29
elif len (date ) == 8 :
28
30
formated_date = datetime .strptime (date , self .year_month_day_date_format )
29
31
return formated_date
@@ -36,14 +38,15 @@ def set_data(self) -> None:
36
38
for db_source in self .covidcast_meta_data :
37
39
for signal_data in db_source ['signals' ]:
38
40
try :
39
- signal = Signal .objects .get (name = signal_data ['signal_basename ' ], source__name = signal_data ['source' ])
41
+ signal = Signal .objects .get (name = signal_data ['signal ' ], source__name = signal_data ['source' ])
40
42
except Signal .DoesNotExist :
41
43
logger .warning (
42
- f"Signal { signal_data ['signal_basename ' ]} not found in db. Update failed."
44
+ f"Signal { signal_data ['signal ' ]} not found in db. Update failed."
43
45
)
44
46
continue
45
47
signal .last_updated = self .format_date (str (signal_data ['max_issue' ]))
46
48
signal .from_date = self .format_date (str (signal_data ['min_time' ]))
47
49
signal .to_date = self .format_date (str (signal_data ['max_time' ]))
50
+ signal .signal_availability_days = abs ((signal .to_date - signal .from_date ).days )
48
51
signal .save ()
49
- logger .info (f"Signal { signal_data ['signal_basename ' ]} successfully updated." )
52
+ logger .info (f"Signal { signal_data ['signal ' ]} successfully updated." )
0 commit comments