SmartCane/python_app/planet_download.ipynb
2024-03-12 22:18:57 +01:00

1252 lines
47 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "0c18e312-8421-47d7-84f9-ed7d5e47e7ee",
"metadata": {
"tags": []
},
"source": [
"#### Load packages and connect to SentinelHub"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "b7ca7102-5fd9-481f-90cd-3ba60e288649",
"metadata": {},
"outputs": [],
"source": [
"# $ pip install sentinelhub\n",
"# pip install gdal\n",
"\n",
"import os\n",
"import json\n",
"import datetime\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from pathlib import Path\n",
"from osgeo import gdal\n",
"\n",
"from sentinelhub import MimeType, CRS, BBox, SentinelHubRequest, SentinelHubDownloadClient, \\\n",
" DataCollection, bbox_to_dimensions, DownloadRequest, SHConfig, BBoxSplitter, read_data\n",
"\n",
"config = SHConfig()\n",
"\n",
"import time\n",
"import shutil"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "330c967c-2742-4a7a-9a61-28bfdaf8eeca",
"metadata": {},
"outputs": [],
"source": [
"#pip install pipreqs"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "49f8496a-a267-4b74-9500-a168e031ed68",
"metadata": {},
"outputs": [],
"source": [
"#import pipreqs\n",
"#pipreqs Resilience BV/4002 CMD App - General/4002 CMD Team/4002 TechnicalData/04 WP2 technical/python/Chemba_download.ipynb"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "5491a840-779c-4f0c-8164-c3de738b3298",
"metadata": {},
"outputs": [],
"source": [
"config.sh_client_id = '1a72d811-4f0e-4447-8282-df09608cff44'\n",
"config.sh_client_secret = 'FcBlRL29i9ZmTzhmKTv1etSMFs5PxSos'"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "eb1fb662-0e25-4ca9-8317-c6953290842b",
"metadata": {},
"outputs": [],
"source": [
"collection_id = 'c691479f-358c-46b1-b0f0-e12b70a9856c'\n",
"byoc = DataCollection.define_byoc(\n",
" collection_id,\n",
" name='planet_data2',\n",
" is_timeless=True)"
]
},
{
"cell_type": "markdown",
"id": "6adb603d-8182-48c6-a051-869e16ee7bba",
"metadata": {
"tags": []
},
"source": [
"#### Set some variables\n",
"The only place anything might need to be changed."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "060396e0-e5ee-4b54-b211-5d8bfcba167f",
"metadata": {},
"outputs": [],
"source": [
"project = 'chemba' #or xinavane or chemba_test_8b\n",
"#project = 'xinavane' #or xinavane or chemba_test_8b\n",
"#project = 'chemba_test_8b' #or xinavane or chemba_test_8b\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "c9f79e81-dff8-4109-8d26-6c423142dcf2",
"metadata": {},
"outputs": [],
"source": [
"# Adjust the number of days needed\n",
"days = 400 #change back to 28 which is the default. 3 years is 1095 days."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "e18bdf8f-be4b-44ab-baaa-de5de60d92cb",
"metadata": {},
"outputs": [],
"source": [
"#delete all the satellite outputs -> then True\n",
"empty_folder_question = False"
]
},
{
"cell_type": "markdown",
"id": "81bbb513-0bd2-4277-83e8-6f94051ce70b",
"metadata": {
"tags": []
},
"source": [
"#### Define functions\n",
"After this block, no manual changes to parameters are required. \n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "3f7c8e04-4569-457b-b39d-283582c4ba36",
"metadata": {},
"outputs": [],
"source": [
"BASE_PATH = Path('../laravel_app/storage/app') / os.getenv('PROJECT_DIR',project) \n",
"BASE_PATH_SINGLE_IMAGES = Path(BASE_PATH / 'single_images')\n",
"folder_for_merged_tifs = str(BASE_PATH / 'merged_tif')\n",
"folder_for_virtual_raster = str(BASE_PATH / 'merged_virtual')\n",
" \n",
"# Check if the folders exist, and if not, create them\n",
"if not os.path.exists(BASE_PATH_SINGLE_IMAGES):\n",
" os.makedirs(BASE_PATH_SINGLE_IMAGES)\n",
" \n",
"if not os.path.exists(folder_for_merged_tifs):\n",
" os.makedirs(folder_for_merged_tifs)\n",
"\n",
"if not os.path.exists(folder_for_virtual_raster):\n",
" os.makedirs(folder_for_virtual_raster)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "244b5752-4f02-4347-9278-f6a0a46b88f4",
"metadata": {},
"outputs": [],
"source": [
"evalscript_true_color = \"\"\"\n",
" //VERSION=3\n",
"\n",
" function setup() {\n",
" return {\n",
" input: [{\n",
" bands: [\"Red\", \"Green\", \"Blue\", \"NIR\", \"UDM2_Clear\"]\n",
" }],\n",
" output: {\n",
" bands: 4 \n",
" //sampleType: \"FLOAT32\"\n",
" }\n",
" };\n",
" }\n",
"\n",
" function evaluatePixel(sample) {\n",
" // Scale the bands\n",
" var scaledBlue = [2.5 * sample.Blue / 10000];\n",
" var scaledGreen = [2.5 * sample.Green / 10000];\n",
" var scaledRed = [2.5 * sample.Red / 10000];\n",
" var scaledNIR = [2.5 * sample.NIR / 10000];\n",
" \n",
" // Calculate the CI (Chlorophyll Index) using the scaled values\n",
" // var CI = [scaledNIR / scaledGreen - 1] ;\n",
"\n",
"// Output the scaled bands and CI\n",
" if (sample.UDM2_Clear != 0) { \n",
" return [\n",
" scaledRed,\n",
" scaledGreen,\n",
" scaledBlue,\n",
" scaledNIR\n",
" // sample.UDM,\n",
" // CI,\n",
" ]\n",
" } else {\n",
" return [NaN, NaN, NaN, NaN]}\n",
" }\n",
"\"\"\"\n",
"\n",
"def get_true_color_request_day(time_interval, bbox, size):\n",
" return SentinelHubRequest(\n",
" evalscript=evalscript_true_color,\n",
" input_data=[\n",
" SentinelHubRequest.input_data(\n",
" data_collection=DataCollection.planet_data2,\n",
" time_interval=(time_interval, time_interval)\n",
" )\n",
" ],\n",
" responses=[\n",
" SentinelHubRequest.output_response('default', MimeType.TIFF)\n",
" ],\n",
" bbox=bbox,\n",
" size=size,\n",
" config=config,\n",
" data_folder=str(BASE_PATH_SINGLE_IMAGES / time_interval),\n",
"\n",
" )\n",
"\n",
"def download_function(slot, bbox, size):\n",
" # create a list of requests\n",
" list_of_requests = [get_true_color_request_day(slot, bbox, size)]\n",
" list_of_requests = [request.download_list[0] for request in list_of_requests]\n",
"\n",
" # download data chemba west with multiple threads\n",
" data = SentinelHubDownloadClient(config=config).download(list_of_requests, max_threads=15)\n",
" print(f' Image downloaded for ' +slot)\n",
" \n",
" time.sleep(.1)\n",
"\n",
"def merge_files(slot):\n",
" \n",
" # List the downloaded Tiffs in the different subfolders with pathlib (native library)\n",
" file_list = [f\"{x}/response.tiff\" for x in Path(BASE_PATH_SINGLE_IMAGES / slot).iterdir()]\n",
" \n",
" #print(file_list)\n",
"\n",
" folder_for_merged_tifs = str(BASE_PATH / 'merged_tif' / f\"{slot}.tif\")\n",
" folder_for_virtual_raster = str(BASE_PATH / 'merged_virtual' / f\"merged{slot}.vrt\")\n",
"\n",
" # Create a virtual raster\n",
" vrt_all = gdal.BuildVRT(folder_for_virtual_raster, file_list)\n",
" vrt_all = gdal.BuildVRT(folder_for_virtual_raster, file_list)\n",
"\n",
" # Convert to JPEG\n",
" gdal.Translate(folder_for_merged_tifs,folder_for_virtual_raster)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "848dc773-70d6-4ae6-b05c-d6ebfb41624d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Monthly time windows:\n",
"\n",
"2023-02-07\n",
"2023-02-08\n",
"2023-02-09\n",
"...\n",
"2024-03-10\n",
"2024-03-11\n",
"2024-03-12\n"
]
}
],
"source": [
"days_needed = int(os.environ.get(\"DAYS\", days))\n",
"date_str = os.environ.get(\"DATE\")\n",
"if date_str:\n",
" # Parse de datumstring naar een datetime.date object\n",
" end = datetime.datetime.strptime(date_str, \"%Y-%m-%d\").date()\n",
"else:\n",
" # Gebruik de huidige datum als fallback\n",
" end = datetime.date.today() \n",
"\n",
"start = end - datetime.timedelta(days=days_needed - 1)\n",
"\n",
"slots = [(start + datetime.timedelta(days=i)).strftime('%Y-%m-%d') for i in range(days_needed)]\n",
"\n",
"print('Monthly time windows:\\n')\n",
"if len(slots) > 10:\n",
" for slot in slots[:3]:\n",
" print(slot)\n",
" print(\"...\")\n",
" for slot in slots[-3:]:\n",
" print(slot)\n",
"else:\n",
" for slot in slots:\n",
" print(slot)\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "f8ea846f-783b-4460-a951-7b522273555f",
"metadata": {},
"source": [
"#### Download images\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "7c0f8f0e-b1bc-4b5a-939d-e4358a485c06",
"metadata": {},
"outputs": [],
"source": [
"if project == 'chemba':\n",
" chosen_area = [[34.9460, -17.3500, 34.9839, -17.3110], [34.8830, -17.3516, 34.9380, -17.2917]]\n",
"\n",
"if project == 'chemba_test_8b':\n",
" chosen_area = [[34.946, -17.3516, 34.938, -17.2917], [34.883, -17.3516, 34.938, -17.2917]]\n",
"\n",
"if project == 'xinavane':\n",
" chosen_area = [[32.6790, -25.0333, 32.7453, -25.0235], [32.6213, -25.0647, 32.6284, -25.0570]]"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "6c02d7de-cddf-4fc3-8d23-8431415d07b8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" Image downloaded for 2023-02-07\n",
" Image downloaded for 2023-02-07\n",
" Image downloaded for 2023-02-08\n",
" Image downloaded for 2023-02-08\n",
" Image downloaded for 2023-02-09\n",
" Image downloaded for 2023-02-09\n",
" Image downloaded for 2023-02-10\n",
" Image downloaded for 2023-02-10\n",
" Image downloaded for 2023-02-11\n",
" Image downloaded for 2023-02-11\n",
" Image downloaded for 2023-02-12\n",
" Image downloaded for 2023-02-12\n",
" Image downloaded for 2023-02-13\n",
" Image downloaded for 2023-02-13\n",
" Image downloaded for 2023-02-14\n",
" Image downloaded for 2023-02-14\n",
" Image downloaded for 2023-02-15\n",
" Image downloaded for 2023-02-15\n",
" Image downloaded for 2023-02-16\n",
" Image downloaded for 2023-02-16\n",
" Image downloaded for 2023-02-17\n",
" Image downloaded for 2023-02-17\n",
" Image downloaded for 2023-02-18\n",
" Image downloaded for 2023-02-18\n",
" Image downloaded for 2023-02-19\n",
" Image downloaded for 2023-02-19\n",
" Image downloaded for 2023-02-20\n",
" Image downloaded for 2023-02-20\n",
" Image downloaded for 2023-02-21\n",
" Image downloaded for 2023-02-21\n",
" Image downloaded for 2023-02-22\n",
" Image downloaded for 2023-02-22\n",
" Image downloaded for 2023-02-23\n",
" Image downloaded for 2023-02-23\n",
" Image downloaded for 2023-02-24\n",
" Image downloaded for 2023-02-24\n",
" Image downloaded for 2023-02-25\n",
" Image downloaded for 2023-02-25\n",
" Image downloaded for 2023-02-26\n",
" Image downloaded for 2023-02-26\n",
" Image downloaded for 2023-02-27\n",
" Image downloaded for 2023-02-27\n",
" Image downloaded for 2023-02-28\n",
" Image downloaded for 2023-02-28\n",
" Image downloaded for 2023-03-01\n",
" Image downloaded for 2023-03-01\n",
" Image downloaded for 2023-03-02\n",
" Image downloaded for 2023-03-02\n",
" Image downloaded for 2023-03-03\n",
" Image downloaded for 2023-03-03\n",
" Image downloaded for 2023-03-04\n",
" Image downloaded for 2023-03-04\n",
" Image downloaded for 2023-03-05\n",
" Image downloaded for 2023-03-05\n",
" Image downloaded for 2023-03-06\n",
" Image downloaded for 2023-03-06\n",
" Image downloaded for 2023-03-07\n",
" Image downloaded for 2023-03-07\n",
" Image downloaded for 2023-03-08\n",
" Image downloaded for 2023-03-08\n",
" Image downloaded for 2023-03-09\n",
" Image downloaded for 2023-03-09\n",
" Image downloaded for 2023-03-10\n",
" Image downloaded for 2023-03-10\n",
" Image downloaded for 2023-03-11\n",
" Image downloaded for 2023-03-11\n",
" Image downloaded for 2023-03-12\n",
" Image downloaded for 2023-03-12\n",
" Image downloaded for 2023-03-13\n",
" Image downloaded for 2023-03-13\n",
" Image downloaded for 2023-03-14\n",
" Image downloaded for 2023-03-14\n",
" Image downloaded for 2023-03-15\n",
" Image downloaded for 2023-03-15\n",
" Image downloaded for 2023-03-16\n",
" Image downloaded for 2023-03-16\n",
" Image downloaded for 2023-03-17\n",
" Image downloaded for 2023-03-17\n",
" Image downloaded for 2023-03-18\n",
" Image downloaded for 2023-03-18\n",
" Image downloaded for 2023-03-19\n",
" Image downloaded for 2023-03-19\n",
" Image downloaded for 2023-03-20\n",
" Image downloaded for 2023-03-20\n",
" Image downloaded for 2023-03-21\n",
" Image downloaded for 2023-03-21\n",
" Image downloaded for 2023-03-22\n",
" Image downloaded for 2023-03-22\n",
" Image downloaded for 2023-03-23\n",
" Image downloaded for 2023-03-23\n",
" Image downloaded for 2023-03-24\n",
" Image downloaded for 2023-03-24\n",
" Image downloaded for 2023-03-25\n",
" Image downloaded for 2023-03-25\n",
" Image downloaded for 2023-03-26\n",
" Image downloaded for 2023-03-26\n",
" Image downloaded for 2023-03-27\n",
" Image downloaded for 2023-03-27\n",
" Image downloaded for 2023-03-28\n",
" Image downloaded for 2023-03-28\n",
" Image downloaded for 2023-03-29\n",
" Image downloaded for 2023-03-29\n",
" Image downloaded for 2023-03-30\n",
" Image downloaded for 2023-03-30\n",
" Image downloaded for 2023-03-31\n",
" Image downloaded for 2023-03-31\n",
" Image downloaded for 2023-04-01\n",
" Image downloaded for 2023-04-01\n",
" Image downloaded for 2023-04-02\n",
" Image downloaded for 2023-04-02\n",
" Image downloaded for 2023-04-03\n",
" Image downloaded for 2023-04-03\n",
" Image downloaded for 2023-04-04\n",
" Image downloaded for 2023-04-04\n",
" Image downloaded for 2023-04-05\n",
" Image downloaded for 2023-04-05\n",
" Image downloaded for 2023-04-06\n",
" Image downloaded for 2023-04-06\n",
" Image downloaded for 2023-04-07\n",
" Image downloaded for 2023-04-07\n",
" Image downloaded for 2023-04-08\n",
" Image downloaded for 2023-04-08\n",
" Image downloaded for 2023-04-09\n",
" Image downloaded for 2023-04-09\n",
" Image downloaded for 2023-04-10\n",
" Image downloaded for 2023-04-10\n",
" Image downloaded for 2023-04-11\n",
" Image downloaded for 2023-04-11\n",
" Image downloaded for 2023-04-12\n",
" Image downloaded for 2023-04-12\n",
" Image downloaded for 2023-04-13\n",
" Image downloaded for 2023-04-13\n",
" Image downloaded for 2023-04-14\n",
" Image downloaded for 2023-04-14\n",
" Image downloaded for 2023-04-15\n",
" Image downloaded for 2023-04-15\n",
" Image downloaded for 2023-04-16\n",
" Image downloaded for 2023-04-16\n",
" Image downloaded for 2023-04-17\n",
" Image downloaded for 2023-04-17\n",
" Image downloaded for 2023-04-18\n",
" Image downloaded for 2023-04-18\n",
" Image downloaded for 2023-04-19\n",
" Image downloaded for 2023-04-19\n",
" Image downloaded for 2023-04-20\n",
" Image downloaded for 2023-04-20\n",
" Image downloaded for 2023-04-21\n",
" Image downloaded for 2023-04-21\n",
" Image downloaded for 2023-04-22\n",
" Image downloaded for 2023-04-22\n",
" Image downloaded for 2023-04-23\n",
" Image downloaded for 2023-04-23\n",
" Image downloaded for 2023-04-24\n",
" Image downloaded for 2023-04-24\n",
" Image downloaded for 2023-04-25\n",
" Image downloaded for 2023-04-25\n",
" Image downloaded for 2023-04-26\n",
" Image downloaded for 2023-04-26\n",
" Image downloaded for 2023-04-27\n",
" Image downloaded for 2023-04-27\n",
" Image downloaded for 2023-04-28\n",
" Image downloaded for 2023-04-28\n",
" Image downloaded for 2023-04-29\n",
" Image downloaded for 2023-04-29\n",
" Image downloaded for 2023-04-30\n",
" Image downloaded for 2023-04-30\n",
" Image downloaded for 2023-05-01\n",
" Image downloaded for 2023-05-01\n",
" Image downloaded for 2023-05-02\n",
" Image downloaded for 2023-05-02\n",
" Image downloaded for 2023-05-03\n",
" Image downloaded for 2023-05-03\n",
" Image downloaded for 2023-05-04\n",
" Image downloaded for 2023-05-04\n",
" Image downloaded for 2023-05-05\n",
" Image downloaded for 2023-05-05\n",
" Image downloaded for 2023-05-06\n",
" Image downloaded for 2023-05-06\n",
" Image downloaded for 2023-05-07\n",
" Image downloaded for 2023-05-07\n",
" Image downloaded for 2023-05-08\n",
" Image downloaded for 2023-05-08\n",
" Image downloaded for 2023-05-09\n",
" Image downloaded for 2023-05-09\n",
" Image downloaded for 2023-05-10\n",
" Image downloaded for 2023-05-10\n",
" Image downloaded for 2023-05-11\n",
" Image downloaded for 2023-05-11\n",
" Image downloaded for 2023-05-12\n",
" Image downloaded for 2023-05-12\n",
" Image downloaded for 2023-05-13\n",
" Image downloaded for 2023-05-13\n",
" Image downloaded for 2023-05-14\n",
" Image downloaded for 2023-05-14\n",
" Image downloaded for 2023-05-15\n",
" Image downloaded for 2023-05-15\n",
" Image downloaded for 2023-05-16\n",
" Image downloaded for 2023-05-16\n",
" Image downloaded for 2023-05-17\n",
" Image downloaded for 2023-05-17\n",
" Image downloaded for 2023-05-18\n",
" Image downloaded for 2023-05-18\n",
" Image downloaded for 2023-05-19\n",
" Image downloaded for 2023-05-19\n",
" Image downloaded for 2023-05-20\n",
" Image downloaded for 2023-05-20\n",
" Image downloaded for 2023-05-21\n",
" Image downloaded for 2023-05-21\n",
" Image downloaded for 2023-05-22\n",
" Image downloaded for 2023-05-22\n",
" Image downloaded for 2023-05-23\n",
" Image downloaded for 2023-05-23\n",
" Image downloaded for 2023-05-24\n",
" Image downloaded for 2023-05-24\n",
" Image downloaded for 2023-05-25\n",
" Image downloaded for 2023-05-25\n",
" Image downloaded for 2023-05-26\n",
" Image downloaded for 2023-05-26\n",
" Image downloaded for 2023-05-27\n",
" Image downloaded for 2023-05-27\n",
" Image downloaded for 2023-05-28\n",
" Image downloaded for 2023-05-28\n",
" Image downloaded for 2023-05-29\n",
" Image downloaded for 2023-05-29\n",
" Image downloaded for 2023-05-30\n",
" Image downloaded for 2023-05-30\n",
" Image downloaded for 2023-05-31\n",
" Image downloaded for 2023-05-31\n",
" Image downloaded for 2023-06-01\n",
" Image downloaded for 2023-06-01\n",
" Image downloaded for 2023-06-02\n",
" Image downloaded for 2023-06-02\n",
" Image downloaded for 2023-06-03\n",
" Image downloaded for 2023-06-03\n",
" Image downloaded for 2023-06-04\n",
" Image downloaded for 2023-06-04\n",
" Image downloaded for 2023-06-05\n",
" Image downloaded for 2023-06-05\n",
" Image downloaded for 2023-06-06\n",
" Image downloaded for 2023-06-06\n",
" Image downloaded for 2023-06-07\n",
" Image downloaded for 2023-06-07\n",
" Image downloaded for 2023-06-08\n",
" Image downloaded for 2023-06-08\n",
" Image downloaded for 2023-06-09\n",
" Image downloaded for 2023-06-09\n",
" Image downloaded for 2023-06-10\n",
" Image downloaded for 2023-06-10\n",
" Image downloaded for 2023-06-11\n",
" Image downloaded for 2023-06-11\n",
" Image downloaded for 2023-06-12\n",
" Image downloaded for 2023-06-12\n",
" Image downloaded for 2023-06-13\n",
" Image downloaded for 2023-06-13\n",
" Image downloaded for 2023-06-14\n",
" Image downloaded for 2023-06-14\n",
" Image downloaded for 2023-06-15\n",
" Image downloaded for 2023-06-15\n",
" Image downloaded for 2023-06-16\n",
" Image downloaded for 2023-06-16\n",
" Image downloaded for 2023-06-17\n",
" Image downloaded for 2023-06-17\n",
" Image downloaded for 2023-06-18\n",
" Image downloaded for 2023-06-18\n",
" Image downloaded for 2023-06-19\n",
" Image downloaded for 2023-06-19\n",
" Image downloaded for 2023-06-20\n",
" Image downloaded for 2023-06-20\n",
" Image downloaded for 2023-06-21\n",
" Image downloaded for 2023-06-21\n",
" Image downloaded for 2023-06-22\n",
" Image downloaded for 2023-06-22\n",
" Image downloaded for 2023-06-23\n",
" Image downloaded for 2023-06-23\n",
" Image downloaded for 2023-06-24\n",
" Image downloaded for 2023-06-24\n",
" Image downloaded for 2023-06-25\n",
" Image downloaded for 2023-06-25\n",
" Image downloaded for 2023-06-26\n",
" Image downloaded for 2023-06-26\n",
" Image downloaded for 2023-06-27\n",
" Image downloaded for 2023-06-27\n",
" Image downloaded for 2023-06-28\n",
" Image downloaded for 2023-06-28\n",
" Image downloaded for 2023-06-29\n",
" Image downloaded for 2023-06-29\n",
" Image downloaded for 2023-06-30\n",
" Image downloaded for 2023-06-30\n",
" Image downloaded for 2023-07-01\n",
" Image downloaded for 2023-07-01\n",
" Image downloaded for 2023-07-02\n",
" Image downloaded for 2023-07-02\n",
" Image downloaded for 2023-07-03\n",
" Image downloaded for 2023-07-03\n",
" Image downloaded for 2023-07-04\n",
" Image downloaded for 2023-07-04\n",
" Image downloaded for 2023-07-05\n",
" Image downloaded for 2023-07-05\n",
" Image downloaded for 2023-07-06\n",
" Image downloaded for 2023-07-06\n",
" Image downloaded for 2023-07-07\n",
" Image downloaded for 2023-07-07\n",
" Image downloaded for 2023-07-08\n",
" Image downloaded for 2023-07-08\n",
" Image downloaded for 2023-07-09\n",
" Image downloaded for 2023-07-09\n",
" Image downloaded for 2023-07-10\n",
" Image downloaded for 2023-07-10\n",
" Image downloaded for 2023-07-11\n",
" Image downloaded for 2023-07-11\n",
" Image downloaded for 2023-07-12\n",
" Image downloaded for 2023-07-12\n",
" Image downloaded for 2023-07-13\n",
" Image downloaded for 2023-07-13\n",
" Image downloaded for 2023-07-14\n",
" Image downloaded for 2023-07-14\n",
" Image downloaded for 2023-07-15\n",
" Image downloaded for 2023-07-15\n",
" Image downloaded for 2023-07-16\n",
" Image downloaded for 2023-07-16\n",
" Image downloaded for 2023-07-17\n",
" Image downloaded for 2023-07-17\n",
" Image downloaded for 2023-07-18\n",
" Image downloaded for 2023-07-18\n",
" Image downloaded for 2023-07-19\n",
" Image downloaded for 2023-07-19\n",
" Image downloaded for 2023-07-20\n",
" Image downloaded for 2023-07-20\n",
" Image downloaded for 2023-07-21\n",
" Image downloaded for 2023-07-21\n",
" Image downloaded for 2023-07-22\n",
" Image downloaded for 2023-07-22\n",
" Image downloaded for 2023-07-23\n",
" Image downloaded for 2023-07-23\n",
" Image downloaded for 2023-07-24\n",
" Image downloaded for 2023-07-24\n",
" Image downloaded for 2023-07-25\n",
" Image downloaded for 2023-07-25\n",
" Image downloaded for 2023-07-26\n",
" Image downloaded for 2023-07-26\n",
" Image downloaded for 2023-07-27\n",
" Image downloaded for 2023-07-27\n",
" Image downloaded for 2023-07-28\n",
" Image downloaded for 2023-07-28\n",
" Image downloaded for 2023-07-29\n",
" Image downloaded for 2023-07-29\n",
" Image downloaded for 2023-07-30\n",
" Image downloaded for 2023-07-30\n",
" Image downloaded for 2023-07-31\n",
" Image downloaded for 2023-07-31\n",
" Image downloaded for 2023-08-01\n",
" Image downloaded for 2023-08-01\n",
" Image downloaded for 2023-08-02\n",
" Image downloaded for 2023-08-02\n",
" Image downloaded for 2023-08-03\n",
" Image downloaded for 2023-08-03\n",
" Image downloaded for 2023-08-04\n",
" Image downloaded for 2023-08-04\n",
" Image downloaded for 2023-08-05\n",
" Image downloaded for 2023-08-05\n",
" Image downloaded for 2023-08-06\n",
" Image downloaded for 2023-08-06\n",
" Image downloaded for 2023-08-07\n",
" Image downloaded for 2023-08-07\n",
" Image downloaded for 2023-08-08\n",
" Image downloaded for 2023-08-08\n",
" Image downloaded for 2023-08-09\n",
" Image downloaded for 2023-08-09\n",
" Image downloaded for 2023-08-10\n",
" Image downloaded for 2023-08-10\n",
" Image downloaded for 2023-08-11\n",
" Image downloaded for 2023-08-11\n",
" Image downloaded for 2023-08-12\n",
" Image downloaded for 2023-08-12\n",
" Image downloaded for 2023-08-13\n",
" Image downloaded for 2023-08-13\n",
" Image downloaded for 2023-08-14\n",
" Image downloaded for 2023-08-14\n",
" Image downloaded for 2023-08-15\n",
" Image downloaded for 2023-08-15\n",
" Image downloaded for 2023-08-16\n",
" Image downloaded for 2023-08-16\n",
" Image downloaded for 2023-08-17\n",
" Image downloaded for 2023-08-17\n",
" Image downloaded for 2023-08-18\n",
" Image downloaded for 2023-08-18\n",
" Image downloaded for 2023-08-19\n",
" Image downloaded for 2023-08-19\n",
" Image downloaded for 2023-08-20\n",
" Image downloaded for 2023-08-20\n",
" Image downloaded for 2023-08-21\n",
" Image downloaded for 2023-08-21\n",
" Image downloaded for 2023-08-22\n",
" Image downloaded for 2023-08-22\n",
" Image downloaded for 2023-08-23\n",
" Image downloaded for 2023-08-23\n",
" Image downloaded for 2023-08-24\n",
" Image downloaded for 2023-08-24\n",
" Image downloaded for 2023-08-25\n",
" Image downloaded for 2023-08-25\n",
" Image downloaded for 2023-08-26\n",
" Image downloaded for 2023-08-26\n",
" Image downloaded for 2023-08-27\n",
" Image downloaded for 2023-08-27\n",
" Image downloaded for 2023-08-28\n",
" Image downloaded for 2023-08-28\n",
" Image downloaded for 2023-08-29\n",
" Image downloaded for 2023-08-29\n",
" Image downloaded for 2023-08-30\n",
" Image downloaded for 2023-08-30\n",
" Image downloaded for 2023-08-31\n",
" Image downloaded for 2023-08-31\n",
" Image downloaded for 2023-09-01\n",
" Image downloaded for 2023-09-01\n",
" Image downloaded for 2023-09-02\n",
" Image downloaded for 2023-09-02\n",
" Image downloaded for 2023-09-03\n",
" Image downloaded for 2023-09-03\n",
" Image downloaded for 2023-09-04\n",
" Image downloaded for 2023-09-04\n",
" Image downloaded for 2023-09-05\n",
" Image downloaded for 2023-09-05\n",
" Image downloaded for 2023-09-06\n",
" Image downloaded for 2023-09-06\n",
" Image downloaded for 2023-09-07\n",
" Image downloaded for 2023-09-07\n",
" Image downloaded for 2023-09-08\n",
" Image downloaded for 2023-09-08\n",
" Image downloaded for 2023-09-09\n",
" Image downloaded for 2023-09-09\n",
" Image downloaded for 2023-09-10\n",
" Image downloaded for 2023-09-10\n",
" Image downloaded for 2023-09-11\n",
" Image downloaded for 2023-09-11\n",
" Image downloaded for 2023-09-12\n",
" Image downloaded for 2023-09-12\n",
" Image downloaded for 2023-09-13\n",
" Image downloaded for 2023-09-13\n",
" Image downloaded for 2023-09-14\n",
" Image downloaded for 2023-09-14\n",
" Image downloaded for 2023-09-15\n",
" Image downloaded for 2023-09-15\n",
" Image downloaded for 2023-09-16\n",
" Image downloaded for 2023-09-16\n",
" Image downloaded for 2023-09-17\n",
" Image downloaded for 2023-09-17\n",
" Image downloaded for 2023-09-18\n",
" Image downloaded for 2023-09-18\n",
" Image downloaded for 2023-09-19\n",
" Image downloaded for 2023-09-19\n",
" Image downloaded for 2023-09-20\n",
" Image downloaded for 2023-09-20\n",
" Image downloaded for 2023-09-21\n",
" Image downloaded for 2023-09-21\n",
" Image downloaded for 2023-09-22\n",
" Image downloaded for 2023-09-22\n",
" Image downloaded for 2023-09-23\n",
" Image downloaded for 2023-09-23\n",
" Image downloaded for 2023-09-24\n",
" Image downloaded for 2023-09-24\n",
" Image downloaded for 2023-09-25\n",
" Image downloaded for 2023-09-25\n",
" Image downloaded for 2023-09-26\n",
" Image downloaded for 2023-09-26\n",
" Image downloaded for 2023-09-27\n",
" Image downloaded for 2023-09-27\n",
" Image downloaded for 2023-09-28\n",
" Image downloaded for 2023-09-28\n",
" Image downloaded for 2023-09-29\n",
" Image downloaded for 2023-09-29\n",
" Image downloaded for 2023-09-30\n",
" Image downloaded for 2023-09-30\n",
" Image downloaded for 2023-10-01\n",
" Image downloaded for 2023-10-01\n",
" Image downloaded for 2023-10-02\n",
" Image downloaded for 2023-10-02\n",
" Image downloaded for 2023-10-03\n",
" Image downloaded for 2023-10-03\n",
" Image downloaded for 2023-10-04\n",
" Image downloaded for 2023-10-04\n",
" Image downloaded for 2023-10-05\n",
" Image downloaded for 2023-10-05\n",
" Image downloaded for 2023-10-06\n",
" Image downloaded for 2023-10-06\n",
" Image downloaded for 2023-10-07\n",
" Image downloaded for 2023-10-07\n",
" Image downloaded for 2023-10-08\n",
" Image downloaded for 2023-10-08\n",
" Image downloaded for 2023-10-09\n",
" Image downloaded for 2023-10-09\n",
" Image downloaded for 2023-10-10\n",
" Image downloaded for 2023-10-10\n",
" Image downloaded for 2023-10-11\n",
" Image downloaded for 2023-10-11\n",
" Image downloaded for 2023-10-12\n",
" Image downloaded for 2023-10-12\n",
" Image downloaded for 2023-10-13\n",
" Image downloaded for 2023-10-13\n",
" Image downloaded for 2023-10-14\n",
" Image downloaded for 2023-10-14\n",
" Image downloaded for 2023-10-15\n",
" Image downloaded for 2023-10-15\n",
" Image downloaded for 2023-10-16\n",
" Image downloaded for 2023-10-16\n",
" Image downloaded for 2023-10-17\n",
" Image downloaded for 2023-10-17\n",
" Image downloaded for 2023-10-18\n",
" Image downloaded for 2023-10-18\n",
" Image downloaded for 2023-10-19\n",
" Image downloaded for 2023-10-19\n",
" Image downloaded for 2023-10-20\n",
" Image downloaded for 2023-10-20\n",
" Image downloaded for 2023-10-21\n",
" Image downloaded for 2023-10-21\n",
" Image downloaded for 2023-10-22\n",
" Image downloaded for 2023-10-22\n",
" Image downloaded for 2023-10-23\n",
" Image downloaded for 2023-10-23\n",
" Image downloaded for 2023-10-24\n",
" Image downloaded for 2023-10-24\n",
" Image downloaded for 2023-10-25\n",
" Image downloaded for 2023-10-25\n",
" Image downloaded for 2023-10-26\n",
" Image downloaded for 2023-10-26\n",
" Image downloaded for 2023-10-27\n",
" Image downloaded for 2023-10-27\n",
" Image downloaded for 2023-10-28\n",
" Image downloaded for 2023-10-28\n",
" Image downloaded for 2023-10-29\n",
" Image downloaded for 2023-10-29\n",
" Image downloaded for 2023-10-30\n",
" Image downloaded for 2023-10-30\n",
" Image downloaded for 2023-10-31\n",
" Image downloaded for 2023-10-31\n",
" Image downloaded for 2023-11-01\n",
" Image downloaded for 2023-11-01\n",
" Image downloaded for 2023-11-02\n",
" Image downloaded for 2023-11-02\n",
" Image downloaded for 2023-11-03\n",
" Image downloaded for 2023-11-03\n",
" Image downloaded for 2023-11-04\n",
" Image downloaded for 2023-11-04\n",
" Image downloaded for 2023-11-05\n",
" Image downloaded for 2023-11-05\n",
" Image downloaded for 2023-11-06\n",
" Image downloaded for 2023-11-06\n",
" Image downloaded for 2023-11-07\n",
" Image downloaded for 2023-11-07\n",
" Image downloaded for 2023-11-08\n",
" Image downloaded for 2023-11-08\n",
" Image downloaded for 2023-11-09\n",
" Image downloaded for 2023-11-09\n",
" Image downloaded for 2023-11-10\n",
" Image downloaded for 2023-11-10\n",
" Image downloaded for 2023-11-11\n",
" Image downloaded for 2023-11-11\n",
" Image downloaded for 2023-11-12\n",
" Image downloaded for 2023-11-12\n",
" Image downloaded for 2023-11-13\n",
" Image downloaded for 2023-11-13\n",
" Image downloaded for 2023-11-14\n",
" Image downloaded for 2023-11-14\n",
" Image downloaded for 2023-11-15\n",
" Image downloaded for 2023-11-15\n",
" Image downloaded for 2023-11-16\n",
" Image downloaded for 2023-11-16\n",
" Image downloaded for 2023-11-17\n",
" Image downloaded for 2023-11-17\n",
" Image downloaded for 2023-11-18\n",
" Image downloaded for 2023-11-18\n",
" Image downloaded for 2023-11-19\n",
" Image downloaded for 2023-11-19\n",
" Image downloaded for 2023-11-20\n",
" Image downloaded for 2023-11-20\n",
" Image downloaded for 2023-11-21\n",
" Image downloaded for 2023-11-21\n",
" Image downloaded for 2023-11-22\n",
" Image downloaded for 2023-11-22\n",
" Image downloaded for 2023-11-23\n",
" Image downloaded for 2023-11-23\n",
" Image downloaded for 2023-11-24\n",
" Image downloaded for 2023-11-24\n",
" Image downloaded for 2023-11-25\n",
" Image downloaded for 2023-11-25\n",
" Image downloaded for 2023-11-26\n",
" Image downloaded for 2023-11-26\n",
" Image downloaded for 2023-11-27\n",
" Image downloaded for 2023-11-27\n",
" Image downloaded for 2023-11-28\n",
" Image downloaded for 2023-11-28\n",
" Image downloaded for 2023-11-29\n",
" Image downloaded for 2023-11-29\n",
" Image downloaded for 2023-11-30\n",
" Image downloaded for 2023-11-30\n",
" Image downloaded for 2023-12-01\n",
" Image downloaded for 2023-12-01\n",
" Image downloaded for 2023-12-02\n",
" Image downloaded for 2023-12-02\n",
" Image downloaded for 2023-12-03\n",
" Image downloaded for 2023-12-03\n",
" Image downloaded for 2023-12-04\n",
" Image downloaded for 2023-12-04\n",
" Image downloaded for 2023-12-05\n",
" Image downloaded for 2023-12-05\n",
" Image downloaded for 2023-12-06\n",
" Image downloaded for 2023-12-06\n",
" Image downloaded for 2023-12-07\n",
" Image downloaded for 2023-12-07\n",
" Image downloaded for 2023-12-08\n",
" Image downloaded for 2023-12-08\n",
" Image downloaded for 2023-12-09\n",
" Image downloaded for 2023-12-09\n",
" Image downloaded for 2023-12-10\n",
" Image downloaded for 2023-12-10\n",
" Image downloaded for 2023-12-11\n",
" Image downloaded for 2023-12-11\n",
" Image downloaded for 2023-12-12\n",
" Image downloaded for 2023-12-12\n",
" Image downloaded for 2023-12-13\n",
" Image downloaded for 2023-12-13\n",
" Image downloaded for 2023-12-14\n",
" Image downloaded for 2023-12-14\n",
" Image downloaded for 2023-12-15\n",
" Image downloaded for 2023-12-15\n",
" Image downloaded for 2023-12-16\n",
" Image downloaded for 2023-12-16\n",
" Image downloaded for 2023-12-17\n",
" Image downloaded for 2023-12-17\n",
" Image downloaded for 2023-12-18\n",
" Image downloaded for 2023-12-18\n",
" Image downloaded for 2023-12-19\n",
" Image downloaded for 2023-12-19\n",
" Image downloaded for 2023-12-20\n",
" Image downloaded for 2023-12-20\n",
" Image downloaded for 2023-12-21\n",
" Image downloaded for 2023-12-21\n",
" Image downloaded for 2023-12-22\n",
" Image downloaded for 2023-12-22\n",
" Image downloaded for 2023-12-23\n",
" Image downloaded for 2023-12-23\n",
" Image downloaded for 2023-12-24\n",
" Image downloaded for 2023-12-24\n",
" Image downloaded for 2023-12-25\n",
" Image downloaded for 2023-12-25\n",
" Image downloaded for 2023-12-26\n",
" Image downloaded for 2023-12-26\n",
" Image downloaded for 2023-12-27\n",
" Image downloaded for 2023-12-27\n",
" Image downloaded for 2023-12-28\n",
" Image downloaded for 2023-12-28\n",
" Image downloaded for 2023-12-29\n",
" Image downloaded for 2023-12-29\n",
" Image downloaded for 2023-12-30\n",
" Image downloaded for 2023-12-30\n",
" Image downloaded for 2023-12-31\n",
" Image downloaded for 2023-12-31\n",
" Image downloaded for 2024-01-01\n",
" Image downloaded for 2024-01-01\n",
" Image downloaded for 2024-01-02\n",
" Image downloaded for 2024-01-02\n",
" Image downloaded for 2024-01-03\n",
" Image downloaded for 2024-01-03\n",
" Image downloaded for 2024-01-04\n",
" Image downloaded for 2024-01-04\n",
" Image downloaded for 2024-01-05\n",
" Image downloaded for 2024-01-05\n",
" Image downloaded for 2024-01-06\n",
" Image downloaded for 2024-01-06\n",
" Image downloaded for 2024-01-07\n",
" Image downloaded for 2024-01-07\n",
" Image downloaded for 2024-01-08\n",
" Image downloaded for 2024-01-08\n",
" Image downloaded for 2024-01-09\n",
" Image downloaded for 2024-01-09\n",
" Image downloaded for 2024-01-10\n",
" Image downloaded for 2024-01-10\n",
" Image downloaded for 2024-01-11\n",
" Image downloaded for 2024-01-11\n",
" Image downloaded for 2024-01-12\n",
" Image downloaded for 2024-01-12\n",
" Image downloaded for 2024-01-13\n",
" Image downloaded for 2024-01-13\n",
" Image downloaded for 2024-01-14\n",
" Image downloaded for 2024-01-14\n",
" Image downloaded for 2024-01-15\n",
" Image downloaded for 2024-01-15\n",
" Image downloaded for 2024-01-16\n",
" Image downloaded for 2024-01-16\n",
" Image downloaded for 2024-01-17\n",
" Image downloaded for 2024-01-17\n",
" Image downloaded for 2024-01-18\n",
" Image downloaded for 2024-01-18\n",
" Image downloaded for 2024-01-19\n",
" Image downloaded for 2024-01-19\n",
" Image downloaded for 2024-01-20\n",
" Image downloaded for 2024-01-20\n",
" Image downloaded for 2024-01-21\n",
" Image downloaded for 2024-01-21\n",
" Image downloaded for 2024-01-22\n",
" Image downloaded for 2024-01-22\n",
" Image downloaded for 2024-01-23\n",
" Image downloaded for 2024-01-23\n",
" Image downloaded for 2024-01-24\n",
" Image downloaded for 2024-01-24\n",
" Image downloaded for 2024-01-25\n",
" Image downloaded for 2024-01-25\n",
" Image downloaded for 2024-01-26\n",
" Image downloaded for 2024-01-26\n",
" Image downloaded for 2024-01-27\n",
" Image downloaded for 2024-01-27\n",
" Image downloaded for 2024-01-28\n",
" Image downloaded for 2024-01-28\n",
" Image downloaded for 2024-01-29\n",
" Image downloaded for 2024-01-29\n",
" Image downloaded for 2024-01-30\n",
" Image downloaded for 2024-01-30\n",
" Image downloaded for 2024-01-31\n",
" Image downloaded for 2024-01-31\n",
" Image downloaded for 2024-02-01\n",
" Image downloaded for 2024-02-01\n",
" Image downloaded for 2024-02-02\n",
" Image downloaded for 2024-02-02\n",
" Image downloaded for 2024-02-03\n",
" Image downloaded for 2024-02-03\n",
" Image downloaded for 2024-02-04\n",
" Image downloaded for 2024-02-04\n",
" Image downloaded for 2024-02-05\n",
" Image downloaded for 2024-02-05\n",
" Image downloaded for 2024-02-06\n",
" Image downloaded for 2024-02-06\n",
" Image downloaded for 2024-02-07\n",
" Image downloaded for 2024-02-07\n",
" Image downloaded for 2024-02-08\n",
" Image downloaded for 2024-02-08\n",
" Image downloaded for 2024-02-09\n",
" Image downloaded for 2024-02-09\n",
" Image downloaded for 2024-02-10\n",
" Image downloaded for 2024-02-10\n",
" Image downloaded for 2024-02-11\n",
" Image downloaded for 2024-02-11\n",
" Image downloaded for 2024-02-12\n",
" Image downloaded for 2024-02-12\n",
" Image downloaded for 2024-02-13\n",
" Image downloaded for 2024-02-13\n",
" Image downloaded for 2024-02-14\n",
" Image downloaded for 2024-02-14\n",
" Image downloaded for 2024-02-15\n",
" Image downloaded for 2024-02-15\n",
" Image downloaded for 2024-02-16\n",
" Image downloaded for 2024-02-16\n",
" Image downloaded for 2024-02-17\n",
" Image downloaded for 2024-02-17\n",
" Image downloaded for 2024-02-18\n",
" Image downloaded for 2024-02-18\n",
" Image downloaded for 2024-02-19\n",
" Image downloaded for 2024-02-19\n",
" Image downloaded for 2024-02-20\n",
" Image downloaded for 2024-02-20\n",
" Image downloaded for 2024-02-21\n",
" Image downloaded for 2024-02-21\n",
" Image downloaded for 2024-02-22\n",
" Image downloaded for 2024-02-22\n",
" Image downloaded for 2024-02-23\n",
" Image downloaded for 2024-02-23\n",
" Image downloaded for 2024-02-24\n",
" Image downloaded for 2024-02-24\n",
" Image downloaded for 2024-02-25\n",
" Image downloaded for 2024-02-25\n",
" Image downloaded for 2024-02-26\n",
" Image downloaded for 2024-02-26\n",
" Image downloaded for 2024-02-27\n",
" Image downloaded for 2024-02-27\n",
" Image downloaded for 2024-02-28\n",
" Image downloaded for 2024-02-28\n",
" Image downloaded for 2024-02-29\n",
" Image downloaded for 2024-02-29\n",
" Image downloaded for 2024-03-01\n",
" Image downloaded for 2024-03-01\n",
" Image downloaded for 2024-03-02\n",
" Image downloaded for 2024-03-02\n",
" Image downloaded for 2024-03-03\n",
" Image downloaded for 2024-03-03\n",
" Image downloaded for 2024-03-04\n",
" Image downloaded for 2024-03-04\n",
" Image downloaded for 2024-03-05\n",
" Image downloaded for 2024-03-05\n",
" Image downloaded for 2024-03-06\n",
" Image downloaded for 2024-03-06\n",
" Image downloaded for 2024-03-07\n",
" Image downloaded for 2024-03-07\n",
" Image downloaded for 2024-03-08\n",
" Image downloaded for 2024-03-08\n",
" Image downloaded for 2024-03-09\n",
" Image downloaded for 2024-03-09\n",
" Image downloaded for 2024-03-10\n",
" Image downloaded for 2024-03-10\n",
" Image downloaded for 2024-03-11\n",
" Image downloaded for 2024-03-11\n",
" Image downloaded for 2024-03-12\n",
" Image downloaded for 2024-03-12\n"
]
}
],
"source": [
"# Load areas outside the loop if they remain constant\n",
"bbox_area = json.dumps(chosen_area)\n",
"areas = json.loads(os.getenv('BBOX', bbox_area))\n",
"resolution = 3\n",
"\n",
"for slot in slots:\n",
" for area in areas:\n",
" bbox = BBox(bbox=area, crs=CRS.WGS84)\n",
" size = bbox_to_dimensions(bbox, resolution=resolution)\n",
" download_function(slot, bbox, size)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "68db3c15-6f94-432e-b315-c329e4251b21",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"for slot in slots:\n",
" merge_files(slot)"
]
},
{
"cell_type": "markdown",
"id": "4274d8e7-1ea3-46db-9528-069ede0b2132",
"metadata": {
"tags": []
},
"source": [
"#### Delete intermediate files\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "cb3fa856-a550-4899-844a-e69209bba3ad",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Skipping empty_folders function.\n"
]
}
],
"source": [
"# List of folder names\n",
"\n",
"folders_to_empty = [BASE_PATH / 'merged_virtual', BASE_PATH_SINGLE_IMAGES]\n",
" \n",
"# Function to empty folders\n",
"\n",
"# Function to empty folders\n",
"def empty_folders(folders, run=True):\n",
" if not run:\n",
" print(\"Skipping empty_folders function.\")\n",
" return\n",
" \n",
" for folder in folders:\n",
" try:\n",
" for filename in os.listdir(folder):\n",
" file_path = os.path.join(folder, filename)\n",
" try:\n",
" if os.path.isfile(file_path):\n",
" os.unlink(file_path)\n",
" elif os.path.isdir(file_path):\n",
" shutil.rmtree(file_path)\n",
" except Exception as e:\n",
" print(f\"Error: {e}\")\n",
" print(f\"Emptied folder: {folder}\")\n",
" except OSError as e:\n",
" print(f\"Error: {e}\")\n",
"\n",
"# Call the function to empty folders only if the 'run' parameter is set to True\n",
"empty_folders(folders_to_empty, run=empty_folder_question)\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}