-
Notifications
You must be signed in to change notification settings - Fork 0
/
upload.py
26 lines (22 loc) · 1.05 KB
/
upload.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import os
import json
import requests
def upload_file_to_pixeldrain(file_path):
url = "https://pixeldrain.com/api/file"
with open(file_path, "rb") as f:
file_path = os.path.basename(file_path)
r = requests.post(url, files={"file": f}, auth=("", os.getenv("PIXELDRAIN_KEY")), data={"name": file_path.split(".")[0] + ".zip", "anonymous": False})
if r.status_code == 201:
print(f"File {file_path} uploaded successfully: {r.json()["id"]}")
return r.json()["id"]
else:
print(f"Failed to upload {file_path}. Status code: {r.status_code}")
return None
with open("docs/data/db.json", "r", encoding="utf-8") as f:
db = json.load(f)
for idx, chart in enumerate(db):
if not chart["pixeldrain_id"] and chart["filename"] in os.listdir(".charts/"):
chart["pixeldrain_id"] = upload_file_to_pixeldrain(".charts/" + chart["filename"])
db[idx] = chart
with open("docs/data/db.json", "w", encoding="utf-8") as json_file:
json.dump(db, json_file, indent=4, ensure_ascii=False)