import requests import zipfile import os URL = os.getenv('URL') def download_and_extract_zip(url, destination_folder): """Downloads a zip file from a URL and extracts its contents to the specified destination folder.""" zip_file_path = "temp.zip" try: # Send an HTTP GET request to the OneDrive link to download the file response = requests.get(url) # Check if the request was successful (status code 200) response.raise_for_status() # Save the zip file to a temporary location with open(zip_file_path, "wb") as f: f.write(response.content) # Create the destination folder if it doesn't exist os.makedirs(destination_folder, exist_ok=True) # Extract the contents of the zip file with zipfile.ZipFile(zip_file_path, 'r') as zip_ref: zip_ref.extractall(destination_folder) print(f"Zip file downloaded and extracted to: {destination_folder}") except requests.exceptions.RequestException as e: print(f"Error downloading file: {e}") finally: # Remove the temporary zip file if os.path.exists(zip_file_path): os.remove(zip_file_path) # Call the function to download and extract the data if __name__ == "__main__": destination_folder = os.getcwd() download_and_extract_zip(URL, destination_folder)