updating data for Intensivstationen
This commit is contained in:
@@ -156,7 +156,7 @@
|
||||
<dt>Datensatz:</dt>
|
||||
<dd><a href="https://www.intensivregister.de/#/aktuelle-lage/downloads" target="_blank">Landkreis-Daten</a></dd>
|
||||
<dt>Datenstand:</dt>
|
||||
<dd id="Datenstand">14.01.2023, 12:49 Uhr</dd>
|
||||
<dd id="Datenstand">17.01.2023, 11:49 Uhr</dd>
|
||||
</dl>
|
||||
<span id="forkongithub"><a href="https://github.com/KnollFrank/HowBadIsMyBatch">Fork me on GitHub</a></span>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
"id": "9de5907f-18f5-4cb1-903e-26028ff1fa03",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:20.046543Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:20.046232Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:20.053776Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:20.053215Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:27.492781Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:27.492314Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:27.508727Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:27.500656Z"
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
@@ -28,26 +28,13 @@
|
||||
"id": "640be762",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:20.056419Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:20.055982Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:20.913002Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:20.912373Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:27.511922Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:27.511674Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:28.166604Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:28.165529Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "ModuleNotFoundError",
|
||||
"evalue": "No module named 'decouple'",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[2], line 11\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mKreisOptionsProvider\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m getKreisOptionsAndAlleLandkreise\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mIntensiveCareBedsPersister\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m getAndPersistIntensiveCareBeds4AlleKreise\n\u001b[0;32m---> 11\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mChart\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m createMedianOfFreeBedsByKreisChart\n\u001b[1;32m 14\u001b[0m pd\u001b[38;5;241m.\u001b[39mset_option(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdisplay.max_rows\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m100\u001b[39m)\n\u001b[1;32m 15\u001b[0m pd\u001b[38;5;241m.\u001b[39mset_option(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdisplay.max_columns\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n",
|
||||
"File \u001b[0;32m~/work/HowBadIsMyBatch/HowBadIsMyBatch/src/intensivstationen/Chart.py:1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mdecouple\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m AutoConfig\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mDatawrapper\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Datawrapper\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mColumnsAdder\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ColumnsAdder\n",
|
||||
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'decouple'"
|
||||
]
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"from DateProvider import DateProvider\n",
|
||||
@@ -73,10 +60,10 @@
|
||||
"id": "e40d4c8d",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:20.916234Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:20.915769Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:20.920845Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:20.920219Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:28.170674Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:28.170337Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:28.176861Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:28.174779Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
@@ -84,7 +71,7 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"17.01.2023, 14:25:20 Uhr\n"
|
||||
"17.01.2023, 15:26:28 Uhr\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -98,10 +85,10 @@
|
||||
"id": "336f56e6",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:20.923692Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:20.923250Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:21.928844Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:21.928050Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:28.179781Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:28.179509Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:41.041463Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:41.040479Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
@@ -109,25 +96,9 @@
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" lastUpdated: 2023-01-14 12:49:00\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"ename": "SessionNotCreatedException",
|
||||
"evalue": "Message: Failed to set preferences: Unable to write Firefox profile: No such file or directory (os error 2)\n",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mSessionNotCreatedException\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[4], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m dateProvider \u001b[38;5;241m=\u001b[39m DateProvider()\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m lastUpdated:\u001b[39m\u001b[38;5;124m'\u001b[39m, dateProvider\u001b[38;5;241m.\u001b[39mgetLastUpdated())\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mlastUpdatedDataSource:\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[43mdateProvider\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetLastUpdatedDataSource\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m) \n\u001b[1;32m 4\u001b[0m needsUpdate \u001b[38;5;241m=\u001b[39m dateProvider\u001b[38;5;241m.\u001b[39mneedsUpdate()\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mneedsUpdate:\u001b[39m\u001b[38;5;124m'\u001b[39m, needsUpdate)\n",
|
||||
"File \u001b[0;32m~/work/HowBadIsMyBatch/HowBadIsMyBatch/src/intensivstationen/DateProvider.py:31\u001b[0m, in \u001b[0;36mDateProvider.getLastUpdatedDataSource\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgetLastUpdatedDataSource\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 30\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlastUpdatedDataSource \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m---> 31\u001b[0m html \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_getOriginalHtml\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 32\u001b[0m lastUpdatedColumn \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mLetzte Änderung\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 33\u001b[0m dataFrame \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_asDataFrame(html, lastUpdatedColumn)\n",
|
||||
"File \u001b[0;32m~/work/HowBadIsMyBatch/HowBadIsMyBatch/src/intensivstationen/DateProvider.py:44\u001b[0m, in \u001b[0;36mDateProvider._getOriginalHtml\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;66;03m# put the root directory your default profile path here, you can check it by opening Firefox and then pasting 'about:profiles' into the url field \u001b[39;00m\n\u001b[1;32m 43\u001b[0m options\u001b[38;5;241m.\u001b[39madd_argument(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/home/frankknoll/snap/firefox/common/.mozilla/firefox/1j6r2yp6.default\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m---> 44\u001b[0m driver \u001b[38;5;241m=\u001b[39m \u001b[43mwebdriver\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mFirefox\u001b[49m\u001b[43m(\u001b[49m\u001b[43moptions\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m driver\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhttps://www.intensivregister.de/#/aktuelle-lage/downloads\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 46\u001b[0m sleep(\u001b[38;5;241m10\u001b[39m)\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/firefox/webdriver.py:197\u001b[0m, in \u001b[0;36mWebDriver.__init__\u001b[0;34m(self, firefox_profile, firefox_binary, capabilities, proxy, executable_path, options, service_log_path, service_args, service, desired_capabilities, log_path, keep_alive)\u001b[0m\n\u001b[1;32m 192\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mservice\u001b[38;5;241m.\u001b[39mstart()\n\u001b[1;32m 194\u001b[0m executor \u001b[38;5;241m=\u001b[39m FirefoxRemoteConnection(\n\u001b[1;32m 195\u001b[0m remote_server_addr\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mservice\u001b[38;5;241m.\u001b[39mservice_url, ignore_proxy\u001b[38;5;241m=\u001b[39moptions\u001b[38;5;241m.\u001b[39m_ignore_local_proxy\n\u001b[1;32m 196\u001b[0m )\n\u001b[0;32m--> 197\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcommand_executor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mexecutor\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeep_alive\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_is_remote \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:288\u001b[0m, in \u001b[0;36mWebDriver.__init__\u001b[0;34m(self, command_executor, desired_capabilities, browser_profile, proxy, keep_alive, file_detector, options)\u001b[0m\n\u001b[1;32m 286\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_authenticator_id \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 287\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstart_client()\n\u001b[0;32m--> 288\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstart_session\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcapabilities\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbrowser_profile\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:381\u001b[0m, in \u001b[0;36mWebDriver.start_session\u001b[0;34m(self, capabilities, browser_profile)\u001b[0m\n\u001b[1;32m 379\u001b[0m w3c_caps \u001b[38;5;241m=\u001b[39m _make_w3c_caps(capabilities)\n\u001b[1;32m 380\u001b[0m parameters \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcapabilities\u001b[39m\u001b[38;5;124m\"\u001b[39m: w3c_caps}\n\u001b[0;32m--> 381\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\u001b[43mCommand\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mNEW_SESSION\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 382\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msessionId\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m response:\n\u001b[1;32m 383\u001b[0m response \u001b[38;5;241m=\u001b[39m response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:444\u001b[0m, in \u001b[0;36mWebDriver.execute\u001b[0;34m(self, driver_command, params)\u001b[0m\n\u001b[1;32m 442\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcommand_executor\u001b[38;5;241m.\u001b[39mexecute(driver_command, params)\n\u001b[1;32m 443\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response:\n\u001b[0;32m--> 444\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43merror_handler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcheck_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 445\u001b[0m response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_unwrap_value(response\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m))\n\u001b[1;32m 446\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m response\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py:249\u001b[0m, in \u001b[0;36mErrorHandler.check_response\u001b[0;34m(self, response)\u001b[0m\n\u001b[1;32m 247\u001b[0m alert_text \u001b[38;5;241m=\u001b[39m value[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124malert\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtext\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 248\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception_class(message, screen, stacktrace, alert_text) \u001b[38;5;66;03m# type: ignore[call-arg] # mypy is not smart enough here\u001b[39;00m\n\u001b[0;32m--> 249\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception_class(message, screen, stacktrace)\n",
|
||||
"\u001b[0;31mSessionNotCreatedException\u001b[0m: Message: Failed to set preferences: Unable to write Firefox profile: No such file or directory (os error 2)\n"
|
||||
" lastUpdated: 2023-01-14 12:49:00\n",
|
||||
"lastUpdatedDataSource: 2023-01-17 11:49:00\n",
|
||||
"needsUpdate: True\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -145,32 +116,13 @@
|
||||
"id": "63be303c",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:21.931546Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:21.931244Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:22.507178Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:22.506540Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:41.045752Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:41.044913Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:41.078753Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:41.077911Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "SessionNotCreatedException",
|
||||
"evalue": "Message: Failed to set preferences: Unable to write Firefox profile: No such file or directory (os error 2)\n",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mSessionNotCreatedException\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[5], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m saveLastUpdatedIntensivstationen(\n\u001b[0;32m----> 2\u001b[0m \u001b[43mdateProvider\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgetLastUpdatedDataSource\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m,\n\u001b[1;32m 3\u001b[0m toHtmlFile \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m../../docs/intensivstationen.html\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
|
||||
"File \u001b[0;32m~/work/HowBadIsMyBatch/HowBadIsMyBatch/src/intensivstationen/DateProvider.py:31\u001b[0m, in \u001b[0;36mDateProvider.getLastUpdatedDataSource\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgetLastUpdatedDataSource\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[1;32m 30\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlastUpdatedDataSource \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m---> 31\u001b[0m html \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_getOriginalHtml\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 32\u001b[0m lastUpdatedColumn \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mLetzte Änderung\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m 33\u001b[0m dataFrame \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_asDataFrame(html, lastUpdatedColumn)\n",
|
||||
"File \u001b[0;32m~/work/HowBadIsMyBatch/HowBadIsMyBatch/src/intensivstationen/DateProvider.py:44\u001b[0m, in \u001b[0;36mDateProvider._getOriginalHtml\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;66;03m# put the root directory your default profile path here, you can check it by opening Firefox and then pasting 'about:profiles' into the url field \u001b[39;00m\n\u001b[1;32m 43\u001b[0m options\u001b[38;5;241m.\u001b[39madd_argument(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/home/frankknoll/snap/firefox/common/.mozilla/firefox/1j6r2yp6.default\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m---> 44\u001b[0m driver \u001b[38;5;241m=\u001b[39m \u001b[43mwebdriver\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mFirefox\u001b[49m\u001b[43m(\u001b[49m\u001b[43moptions\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 45\u001b[0m driver\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhttps://www.intensivregister.de/#/aktuelle-lage/downloads\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 46\u001b[0m sleep(\u001b[38;5;241m10\u001b[39m)\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/firefox/webdriver.py:197\u001b[0m, in \u001b[0;36mWebDriver.__init__\u001b[0;34m(self, firefox_profile, firefox_binary, capabilities, proxy, executable_path, options, service_log_path, service_args, service, desired_capabilities, log_path, keep_alive)\u001b[0m\n\u001b[1;32m 192\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mservice\u001b[38;5;241m.\u001b[39mstart()\n\u001b[1;32m 194\u001b[0m executor \u001b[38;5;241m=\u001b[39m FirefoxRemoteConnection(\n\u001b[1;32m 195\u001b[0m remote_server_addr\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mservice\u001b[38;5;241m.\u001b[39mservice_url, ignore_proxy\u001b[38;5;241m=\u001b[39moptions\u001b[38;5;241m.\u001b[39m_ignore_local_proxy\n\u001b[1;32m 196\u001b[0m )\n\u001b[0;32m--> 197\u001b[0m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__init__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mcommand_executor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mexecutor\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeep_alive\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_is_remote \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:288\u001b[0m, in \u001b[0;36mWebDriver.__init__\u001b[0;34m(self, command_executor, desired_capabilities, browser_profile, proxy, keep_alive, file_detector, options)\u001b[0m\n\u001b[1;32m 286\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_authenticator_id \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 287\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstart_client()\n\u001b[0;32m--> 288\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstart_session\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcapabilities\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbrowser_profile\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:381\u001b[0m, in \u001b[0;36mWebDriver.start_session\u001b[0;34m(self, capabilities, browser_profile)\u001b[0m\n\u001b[1;32m 379\u001b[0m w3c_caps \u001b[38;5;241m=\u001b[39m _make_w3c_caps(capabilities)\n\u001b[1;32m 380\u001b[0m parameters \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcapabilities\u001b[39m\u001b[38;5;124m\"\u001b[39m: w3c_caps}\n\u001b[0;32m--> 381\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\u001b[43mCommand\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mNEW_SESSION\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 382\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msessionId\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m response:\n\u001b[1;32m 383\u001b[0m response \u001b[38;5;241m=\u001b[39m response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py:444\u001b[0m, in \u001b[0;36mWebDriver.execute\u001b[0;34m(self, driver_command, params)\u001b[0m\n\u001b[1;32m 442\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcommand_executor\u001b[38;5;241m.\u001b[39mexecute(driver_command, params)\n\u001b[1;32m 443\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response:\n\u001b[0;32m--> 444\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43merror_handler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcheck_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 445\u001b[0m response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_unwrap_value(response\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m))\n\u001b[1;32m 446\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m response\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py:249\u001b[0m, in \u001b[0;36mErrorHandler.check_response\u001b[0;34m(self, response)\u001b[0m\n\u001b[1;32m 247\u001b[0m alert_text \u001b[38;5;241m=\u001b[39m value[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124malert\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtext\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 248\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception_class(message, screen, stacktrace, alert_text) \u001b[38;5;66;03m# type: ignore[call-arg] # mypy is not smart enough here\u001b[39;00m\n\u001b[0;32m--> 249\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception_class(message, screen, stacktrace)\n",
|
||||
"\u001b[0;31mSessionNotCreatedException\u001b[0m: Message: Failed to set preferences: Unable to write Firefox profile: No such file or directory (os error 2)\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"saveLastUpdatedIntensivstationen(\n",
|
||||
" dateProvider.getLastUpdatedDataSource(),\n",
|
||||
@@ -183,22 +135,38 @@
|
||||
"id": "3f992231",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:22.509837Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:22.509528Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:22.522955Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:22.522436Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:41.082361Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:41.081956Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:50.035066Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:50.034153Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "NameError",
|
||||
"evalue": "name 'needsUpdate' is not defined",
|
||||
"ename": "ImportError",
|
||||
"evalue": "Missing optional dependency 'openpyxl'. Use pip or conda to install openpyxl.",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[6], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m timeSeries \u001b[38;5;241m=\u001b[39m readTimeseries(download \u001b[38;5;241m=\u001b[39m \u001b[43mneedsUpdate\u001b[49m)\n\u001b[1;32m 2\u001b[0m timeSeries\n",
|
||||
"\u001b[0;31mNameError\u001b[0m: name 'needsUpdate' is not defined"
|
||||
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/pandas/compat/_optional.py:141\u001b[0m, in \u001b[0;36mimport_optional_dependency\u001b[0;34m(name, extra, errors, min_version)\u001b[0m\n\u001b[1;32m 140\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 141\u001b[0m module \u001b[38;5;241m=\u001b[39m \u001b[43mimportlib\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mimport_module\u001b[49m\u001b[43m(\u001b[49m\u001b[43mname\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 142\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m:\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/importlib/__init__.py:126\u001b[0m, in \u001b[0;36mimport_module\u001b[0;34m(name, package)\u001b[0m\n\u001b[1;32m 125\u001b[0m level \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[0;32m--> 126\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_bootstrap\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_gcd_import\u001b[49m\u001b[43m(\u001b[49m\u001b[43mname\u001b[49m\u001b[43m[\u001b[49m\u001b[43mlevel\u001b[49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpackage\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m<frozen importlib._bootstrap>:1050\u001b[0m, in \u001b[0;36m_gcd_import\u001b[0;34m(name, package, level)\u001b[0m\n",
|
||||
"File \u001b[0;32m<frozen importlib._bootstrap>:1027\u001b[0m, in \u001b[0;36m_find_and_load\u001b[0;34m(name, import_)\u001b[0m\n",
|
||||
"File \u001b[0;32m<frozen importlib._bootstrap>:1004\u001b[0m, in \u001b[0;36m_find_and_load_unlocked\u001b[0;34m(name, import_)\u001b[0m\n",
|
||||
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'openpyxl'",
|
||||
"\nDuring handling of the above exception, another exception occurred:\n",
|
||||
"\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[6], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m timeSeries \u001b[38;5;241m=\u001b[39m \u001b[43mreadTimeseries\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdownload\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mneedsUpdate\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m timeSeries\n",
|
||||
"File \u001b[0;32m~/work/HowBadIsMyBatch/HowBadIsMyBatch/src/intensivstationen/TimeseriesReader.py:8\u001b[0m, in \u001b[0;36mreadTimeseries\u001b[0;34m(download)\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mreadTimeseries\u001b[39m(download \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[1;32m 7\u001b[0m timeSeries \u001b[38;5;241m=\u001b[39m _readTimeseries(download \u001b[38;5;241m=\u001b[39m download)\n\u001b[0;32m----> 8\u001b[0m timeSeries \u001b[38;5;241m=\u001b[39m ColumnsAdder(\u001b[43mreadKreise\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m)\u001b[38;5;241m.\u001b[39maddKreisAndBundeslandAndEinwohnerzahlColumns(timeSeries)\n\u001b[1;32m 9\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m timeSeries\n",
|
||||
"File \u001b[0;32m~/work/HowBadIsMyBatch/HowBadIsMyBatch/src/intensivstationen/KreiseReader.py:9\u001b[0m, in \u001b[0;36mreadKreise\u001b[0;34m(download)\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m download:\n\u001b[1;32m 7\u001b[0m _downloadKreise(kreiseFile)\n\u001b[0;32m----> 9\u001b[0m kreise \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_excel\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[43mkreiseFile\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[43m \u001b[49m\u001b[43msheet_name\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mKreisfreie Städte u. Landkreise\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 12\u001b[0m \u001b[43m \u001b[49m\u001b[43mheader\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m5\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 13\u001b[0m \u001b[43m \u001b[49m\u001b[43mindex_col\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 14\u001b[0m kreise \u001b[38;5;241m=\u001b[39m kreise\u001b[38;5;241m.\u001b[39mrename(columns \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m2\u001b[39m\u001b[38;5;124m'\u001b[39m: \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mBundesland\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m3\u001b[39m: \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mKreis\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m6\u001b[39m: \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mEinwohnerzahl\u001b[39m\u001b[38;5;124m'\u001b[39m})[[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mBundesland\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mKreis\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mEinwohnerzahl\u001b[39m\u001b[38;5;124m'\u001b[39m]]\n\u001b[1;32m 15\u001b[0m kreise\u001b[38;5;241m.\u001b[39mindex\u001b[38;5;241m.\u001b[39mset_names(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mKey\u001b[39m\u001b[38;5;124m\"\u001b[39m, inplace \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m)\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/pandas/util/_decorators.py:211\u001b[0m, in \u001b[0;36mdeprecate_kwarg.<locals>._deprecate_kwarg.<locals>.wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 209\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 210\u001b[0m kwargs[new_arg_name] \u001b[38;5;241m=\u001b[39m new_arg_value\n\u001b[0;32m--> 211\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/pandas/util/_decorators.py:331\u001b[0m, in \u001b[0;36mdeprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 325\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m>\u001b[39m num_allow_args:\n\u001b[1;32m 326\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 327\u001b[0m msg\u001b[38;5;241m.\u001b[39mformat(arguments\u001b[38;5;241m=\u001b[39m_format_argument_list(allow_args)),\n\u001b[1;32m 328\u001b[0m \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[1;32m 329\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39mfind_stack_level(),\n\u001b[1;32m 330\u001b[0m )\n\u001b[0;32m--> 331\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/pandas/io/excel/_base.py:482\u001b[0m, in \u001b[0;36mread_excel\u001b[0;34m(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, decimal, comment, skipfooter, convert_float, mangle_dupe_cols, storage_options)\u001b[0m\n\u001b[1;32m 480\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(io, ExcelFile):\n\u001b[1;32m 481\u001b[0m should_close \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m--> 482\u001b[0m io \u001b[38;5;241m=\u001b[39m \u001b[43mExcelFile\u001b[49m\u001b[43m(\u001b[49m\u001b[43mio\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstorage_options\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mengine\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 483\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m engine \u001b[38;5;129;01mand\u001b[39;00m engine \u001b[38;5;241m!=\u001b[39m io\u001b[38;5;241m.\u001b[39mengine:\n\u001b[1;32m 484\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 485\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mEngine should not be specified when passing \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 486\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124man ExcelFile - ExcelFile already has the engine set\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 487\u001b[0m )\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/pandas/io/excel/_base.py:1695\u001b[0m, in \u001b[0;36mExcelFile.__init__\u001b[0;34m(self, path_or_buffer, engine, storage_options)\u001b[0m\n\u001b[1;32m 1692\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mengine \u001b[38;5;241m=\u001b[39m engine\n\u001b[1;32m 1693\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mstorage_options \u001b[38;5;241m=\u001b[39m storage_options\n\u001b[0;32m-> 1695\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_reader \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_engines\u001b[49m\u001b[43m[\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m]\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_io\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstorage_options\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/pandas/io/excel/_openpyxl.py:556\u001b[0m, in \u001b[0;36mOpenpyxlReader.__init__\u001b[0;34m(self, filepath_or_buffer, storage_options)\u001b[0m\n\u001b[1;32m 541\u001b[0m \u001b[38;5;129m@doc\u001b[39m(storage_options\u001b[38;5;241m=\u001b[39m_shared_docs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstorage_options\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[1;32m 542\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\n\u001b[1;32m 543\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 544\u001b[0m filepath_or_buffer: FilePath \u001b[38;5;241m|\u001b[39m ReadBuffer[\u001b[38;5;28mbytes\u001b[39m],\n\u001b[1;32m 545\u001b[0m storage_options: StorageOptions \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 546\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 547\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 548\u001b[0m \u001b[38;5;124;03m Reader using openpyxl engine.\u001b[39;00m\n\u001b[1;32m 549\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 554\u001b[0m \u001b[38;5;124;03m {storage_options}\u001b[39;00m\n\u001b[1;32m 555\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 556\u001b[0m \u001b[43mimport_optional_dependency\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mopenpyxl\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 557\u001b[0m \u001b[38;5;28msuper\u001b[39m()\u001b[38;5;241m.\u001b[39m\u001b[38;5;21m__init__\u001b[39m(filepath_or_buffer, storage_options\u001b[38;5;241m=\u001b[39mstorage_options)\n",
|
||||
"File \u001b[0;32m/usr/share/miniconda/envs/howbadismybatch-venv/lib/python3.10/site-packages/pandas/compat/_optional.py:144\u001b[0m, in \u001b[0;36mimport_optional_dependency\u001b[0;34m(name, extra, errors, min_version)\u001b[0m\n\u001b[1;32m 142\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m:\n\u001b[1;32m 143\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m errors \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mraise\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 144\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mImportError\u001b[39;00m(msg)\n\u001b[1;32m 145\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 146\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n",
|
||||
"\u001b[0;31mImportError\u001b[0m: Missing optional dependency 'openpyxl'. Use pip or conda to install openpyxl."
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -213,10 +181,10 @@
|
||||
"id": "356494d3",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:22.525404Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:22.525107Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:22.537819Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:22.537290Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:50.038970Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:50.038547Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:50.053511Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:50.052723Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
@@ -245,10 +213,10 @@
|
||||
"id": "349edd73",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:22.540140Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:22.539842Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:22.551789Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:22.551210Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:50.056742Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:50.056330Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:50.070262Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:50.069439Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
@@ -277,10 +245,10 @@
|
||||
"id": "f10704f3",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:22.554665Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:22.554375Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:22.566660Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:22.566217Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:50.073444Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:50.073002Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:50.088662Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:50.087876Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
@@ -309,10 +277,10 @@
|
||||
"id": "d1b75357",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:22.569080Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:22.568625Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:22.572139Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:22.571452Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:50.091675Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:50.091436Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:50.097409Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:50.096426Z"
|
||||
}
|
||||
},
|
||||
"outputs": [],
|
||||
@@ -330,22 +298,22 @@
|
||||
"id": "8b392b34",
|
||||
"metadata": {
|
||||
"execution": {
|
||||
"iopub.execute_input": "2023-01-17T14:25:22.574445Z",
|
||||
"iopub.status.busy": "2023-01-17T14:25:22.574160Z",
|
||||
"iopub.status.idle": "2023-01-17T14:25:22.587195Z",
|
||||
"shell.execute_reply": "2023-01-17T14:25:22.586634Z"
|
||||
"iopub.execute_input": "2023-01-17T15:26:50.100437Z",
|
||||
"iopub.status.busy": "2023-01-17T15:26:50.100195Z",
|
||||
"iopub.status.idle": "2023-01-17T15:26:50.118425Z",
|
||||
"shell.execute_reply": "2023-01-17T15:26:50.117600Z"
|
||||
}
|
||||
},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "NameError",
|
||||
"evalue": "name 'createMedianOfFreeBedsByKreisChart' is not defined",
|
||||
"evalue": "name 'timeSeries' is not defined",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[11], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mcreateMedianOfFreeBedsByKreisChart\u001b[49m(\n\u001b[1;32m 2\u001b[0m timeSeries,\n\u001b[1;32m 3\u001b[0m chartTitle \u001b[38;5;241m=\u001b[39m getChartTitle(\n\u001b[1;32m 4\u001b[0m dateStart\u001b[38;5;241m=\u001b[39mtimeSeries[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdate\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mmin(),\n\u001b[1;32m 5\u001b[0m dateEnd\u001b[38;5;241m=\u001b[39mtimeSeries[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdate\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mmax()))\n",
|
||||
"\u001b[0;31mNameError\u001b[0m: name 'createMedianOfFreeBedsByKreisChart' is not defined"
|
||||
"Cell \u001b[0;32mIn[11], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m createMedianOfFreeBedsByKreisChart(\n\u001b[0;32m----> 2\u001b[0m \u001b[43mtimeSeries\u001b[49m,\n\u001b[1;32m 3\u001b[0m chartTitle \u001b[38;5;241m=\u001b[39m getChartTitle(\n\u001b[1;32m 4\u001b[0m dateStart\u001b[38;5;241m=\u001b[39mtimeSeries[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdate\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mmin(),\n\u001b[1;32m 5\u001b[0m dateEnd\u001b[38;5;241m=\u001b[39mtimeSeries[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdate\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mmax()))\n",
|
||||
"\u001b[0;31mNameError\u001b[0m: name 'timeSeries' is not defined"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user