[docs]classParaguay(CountryTestBase):location:str="Paraguay"units:str="tests performed"source_label:str="Ministry of Public Health and Social Welfare"source_url:str="https://public.tableau.com/views/COVID-19PYTableauPublic/COVID-19Prensa"source_url_ref:str="https://www.mspbs.gov.py/reporte-covid19.html"
[docs]defread(self)->pd.DataFrame:"""Read data from source"""df=self._parse_data(self.source_url)returndf
[docs]def_parse_data(self,url:str)->pd.DataFrame:"""Parse data from url"""t_scraper=TableauScraper()t_scraper.loads(url)# Get the metricscount=self._parse_metrics(t_scraper)# Get the datedate=self._parse_date(t_scraper)df=pd.DataFrame({"Date":[date],"Cumulative total":[count],})returndf
[docs]def_parse_metrics(self,t_scraper:TableauScraper)->int:"""Parse metrics from TableauScraper"""count=int(t_scraper.getWorksheet("Resumen").data.loc[0,"SUM(Cantidad Pruebas)-alias"])returnclean_count(count)
[docs]def_parse_date(self,t_scraper:TableauScraper)->str:"""Parse date from TableauScraper"""date=t_scraper.getWorksheet("COVID-19 | Prensa.Titulo").data.iat[0,0]returnclean_date(date,"%d/%m/%Y")
[docs]defpipeline(self,df:pd.DataFrame)->pd.DataFrame:"""Pipeline for data processing"""returndf.pipe(self.pipe_metadata)
[docs]defexport(self):"""Export data to csv"""df=self.read().pipe(self.pipeline)self.export_datafile(df,attach=True)