Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -371,9 +371,9 @@ def get_nuts3_county_id_map():
"""
# download county list
county_table = get_official_county_table()
# delete rows with nuts3 = NaN
# delete rows with nuts3 or idCounty = NaN
# take just columns with name dd.EngEng['idCounty'] and dd.EngEng['nuts3']
key_nuts3 = county_table.dropna(subset=[dd.EngEng['nuts3']])[
key_nuts3 = county_table.dropna(subset=[dd.EngEng['nuts3'], dd.EngEng['idCounty']])[
[dd.EngEng['idCounty'], dd.EngEng['nuts3']]]
# convert ID data types
key_nuts3 = key_nuts3.astype({dd.EngEng['idCounty']: int})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
from io import BytesIO
from zipfile import ZipFile
from enum import Enum
from pkg_resources import parse_version
from packaging.version import parse

import pandas as pd

Expand All @@ -66,7 +66,7 @@ class Conf:

v_level = 'Info'
show_progr = False
if parse_version(pd.__version__) < parse_version('2.2'):
if parse(pd.__version__) < parse('2.2'):
excel_engine = 'openpyxl'
else:
# calamine is faster, but cannot be used for pandas < 2.2
Expand Down Expand Up @@ -196,9 +196,12 @@ def download_file(

"""
if verify not in [True, False, "interactive"]:
warnings.warn('Invalid input for argument verify. Expected True, False, or'
' "interactive", got ' + str(verify) + '.'
' Proceeding with "verify=True".', category=RuntimeWarning)
warnings.warn(
'Invalid input for argument verify. Expected True, False, or'
' "interactive", got ' + str(verify) +
'.'
' Proceeding with "verify=True".',
category=RuntimeWarning)
verify = True
# send GET request as stream so the content is not downloaded at once
try:
Expand Down Expand Up @@ -438,8 +441,7 @@ def cli(what):
parser.add_argument(
'-s', '--start-date', default=start_date_default,
help='Defines start date for data download. Should have form: YYYY-mm-dd.'
'Default is ' +
str(dd.defaultDict['start_date']) +
'Default is ' + str(dd.defaultDict['start_date']) +
' (2020-04-24 for divi and 2020-01-22 for jh)',
type=lambda s: datetime.datetime.strptime(s, '%Y-%m-%d').date())
if 'end_date' in what_list:
Expand All @@ -455,8 +457,10 @@ def cli(what):
' omitting dates where no data was reported', action='store_true')
if 'moving_average' in what_list:
parser.add_argument(
'-m', '--moving-average', type=int, default=dd.defaultDict['moving_average'],
help='Compute a moving average of N days over the time series. Default is ' + str(dd.defaultDict['moving_average']))
'-m', '--moving-average', type=int, default=dd.defaultDict
['moving_average'],
help='Compute a moving average of N days over the time series. Default is '
+ str(dd.defaultDict['moving_average']))
if 'split_berlin' in what_list:
parser.add_argument(
'-b', '--split-berlin', default=dd.defaultDict['split_berlin'],
Expand Down Expand Up @@ -485,46 +489,56 @@ def cli(what):
)

# add optional download options
if '--no-progress-indicators' in sys.argv:
argv = sys.argv[1:]
if '--no-progress-indicators' in argv:
parser.add_argument(
'--no-progress-indicators', dest='show_progress',
help='Disables all progress indicators (used for downloads etc.).',
action='store_false')

if not {'--no-raw', '-n'}.isdisjoint(sys.argv):
if not {'--no-raw', '-n'}.isdisjoint(argv):
parser.add_argument(
'-n', '--no-raw',
help='Defines if raw data will be stored for further use.',
action='store_true')

if not {'--make_plot', '-p'}.isdisjoint(sys.argv):
if not {'--make_plot', '-p'}.isdisjoint(argv):
parser.add_argument('-p', '--make-plot',
help='Plots the data.', action='store_true')

if '--interactive' in sys.argv:
if '--interactive' in argv:
parser.add_argument(
'--interactive',
help='Interactive download (Handle warnings, passwords etc.).', action='store_true')
help='Interactive download (Handle warnings, passwords etc.).',
action='store_true')

if not {'--verbose', '-v', '-vv', '-vvv', '-vvvv', '-vvvvv', '-vvvvvv'}.isdisjoint(sys.argv):
if not {'--verbose', '-v', '-vv', '-vvv', '-vvvv', '-vvvvv', '-vvvvvv'}.isdisjoint(argv):
parser.add_argument(
'-v', '--verbose', dest='verbosity_level',
help='Increases verbosity level (Trace, Debug, Info, Warning, Error, Critical, Off).',
action='count', default=0)

if '--skip-checks' in sys.argv:
if '--skip-checks' in argv:
parser.add_argument(
'--skip-checks', dest='run_checks', action='store_false',
help='Skips sanity checks etc.')

if '--to-dataset' in sys.argv:
if '--to-dataset' in argv:
parser.add_argument(
'--to-dataset', dest='to_dataset',
help="To return saved dataframes as objects.",
action='store_true'
)

args = vars(parser.parse_args())
args, unknown = parser.parse_known_args()
if unknown:
# if unknown arguments are present, check if they are from
# a test runner (unittest, pytest). If not, we want to fail.
if not any(x in sys.argv[0] for x in
['unittest', 'pytest']):
parser.parse_args()

args = vars(args)

return args

Expand Down
2 changes: 1 addition & 1 deletion pycode/memilio-epidata/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ maintainers = [
{ email = "martin.kuehn@dlr.de" }
]
dependencies = [
"setuptools>=68",
"packaging",
"pandas>=2.0.0",
"pyarrow",
"matplotlib",
Expand Down
Loading