importosimportpandasaspdfromcowidevimportPATHSfromcowidev.utils.clean.numbersimportmetrics_to_num_intCOLUMNS_ORDER=["Country","Date","Cumulative total","Daily change in cumulative total","Positive rate","Units","Source URL","Source label","Notes",]
[docs]classCountryTestBase:location:str=Noneunits:str=Nonesource_url:str=Nonesource_url_ref:str=Nonesource_label:str=Nonenotes:str=pd.NArename_columns:dict={}def__init__(self):ifself.location==None:raiseNotImplementedError("Please define class attribute `location`")# if self.units == None:# raise NotImplementedError("Please define class attribute `units`")# if self.source_url_ref == None:# raise NotImplementedError("Please define class attribute `source_url_ref`")# if self.source_label == None:# raise NotImplementedError("Please define class attribute `source_label`")
[docs]def_check_attributes(self,mapping):forfield_raw,fieldinmapping.items():iffieldisNone:raiseValueError(f"Please check class attribute {field_raw}, it can't be None!")