Files
HowBadIsMyBatch/src/intensivstationen/IntensiveCareBedsPersister.py
frankknoll 4472406eb5 refactoring
2022-12-14 23:17:38 +01:00

39 lines
1.3 KiB
Python

from IntensiveCareBedsProvider import getIntensiveCareBeds
from IOUtils import IOUtils
def getAndPersistIntensiveCareBeds4AlleKreise(timeSeries, intensivstationenDataDir, kreisValues):
getAndPersistIntensiveCareBeds(timeSeries, intensivstationenDataDir)
for kreis in kreisValues:
getAndPersistIntensiveCareBeds(
timeSeries,
intensivstationenDataDir = intensivstationenDataDir,
kreis = kreis)
def getAndPersistIntensiveCareBeds(timeSeries, intensivstationenDataDir, kreis = None):
intensiveCareBeds = getIntensiveCareBeds(timeSeries, kreis)
display(kreis)
_saveAsJson(intensiveCareBeds, _getFilename(intensivstationenDataDir, kreis))
def _saveAsJson(intensiveCareBeds, file):
IOUtils.saveDictAsJson(
{
'population': int(intensiveCareBeds.iloc[0]['Einwohnerzahl']),
'data': _intensiveCareBeds2Dict(intensiveCareBeds),
},
file)
def _intensiveCareBeds2Dict(intensiveCareBeds):
df = intensiveCareBeds[['date', 'betten_belegt', 'betten_frei']].copy()
df['date'] = df['date'].dt.strftime('%Y-%m-%d')
return df.to_dict(orient = "records")
def _getFilename(intensivstationenDataDir, kreis):
return f'{intensivstationenDataDir}/intensivstationen-{_getSuffix(kreis)}.json'
def _getSuffix(kreis):
return kreis if kreis is not None else 'de'