Skip to content

Instantly share code, notes, and snippets.

@parnexcodes
Last active March 31, 2024 14:20
Show Gist options
  • Save parnexcodes/422d08355715c4e82e308514c90b0088 to your computer and use it in GitHub Desktop.
Save parnexcodes/422d08355715c4e82e308514c90b0088 to your computer and use it in GitHub Desktop.
import os
import requests
def get_kraken_server():
url = "https://krakenfiles.com/api/server/available"
response = requests.get(url)
if response.status_code == 200:
data = response.json()["data"]
url = data["url"]
server_access_token = data["serverAccessToken"]
return url, server_access_token
else:
print(f"Failed to get KrakenFiles server. Status code: {response.status_code}")
return None, None
def upload_to_kraken(folder_path):
url, server_access_token = get_kraken_server()
if not url or not server_access_token:
return None
upload_url = f"{url}?serverAccessToken={server_access_token}"
headers = {
"X-AUTH-TOKEN": "token"
}
links = {}
for root, _, files in os.walk(folder_path):
for file_name in files:
file_path = os.path.join(root, file_name)
with open(file_path, "rb") as file:
files = {"file": file}
response = requests.post(upload_url, headers=headers, files=files)
if response.status_code == 200:
data = response.json()["data"]
link = data["url"]
links[file_name] = link
else:
print(f"Failed to upload {file_path}. Status code: {response.status_code}")
return links
# Example usage:
if __name__ == "__main__":
folder_path = "/path/to/your/folder" # Specify the folder path here
uploaded_links = upload_to_kraken(folder_path)
if uploaded_links:
for filename, link in uploaded_links.items():
print(f"{filename} : {link}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment