@@ -10,7 +10,7 @@ class SignalLastUpdatedParser:
1010
1111 def __init__ (self , covidcast_meta_data : list ) -> None :
1212 self .covidcast_meta_data = covidcast_meta_data
13- self .year_month_date_format = '%Y%m '
13+ self .year_week_date_format = '%Y-%W-%w '
1414 self .year_month_day_date_format = '%Y%m%d'
1515
1616 def format_date (self , date : str ,) -> datetime :
@@ -23,7 +23,9 @@ def format_date(self, date: str,) -> datetime:
2323 """
2424 formated_date : datetime
2525 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 )
2729 elif len (date ) == 8 :
2830 formated_date = datetime .strptime (date , self .year_month_day_date_format )
2931 return formated_date
@@ -36,14 +38,15 @@ def set_data(self) -> None:
3638 for db_source in self .covidcast_meta_data :
3739 for signal_data in db_source ['signals' ]:
3840 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' ])
4042 except Signal .DoesNotExist :
4143 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."
4345 )
4446 continue
4547 signal .last_updated = self .format_date (str (signal_data ['max_issue' ]))
4648 signal .from_date = self .format_date (str (signal_data ['min_time' ]))
4749 signal .to_date = self .format_date (str (signal_data ['max_time' ]))
50+ signal .signal_availability_days = abs ((signal .to_date - signal .from_date ).days )
4851 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