mirror of
https://github.com/revanced/revanced-polling-api.git
synced 2025-04-29 22:24:26 +02:00
51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
import os
|
|
import redis
|
|
import requests
|
|
from pprint import pformat
|
|
|
|
paste_url: str = "https://api.paste.ee/v1/pastes"
|
|
|
|
db = redis.StrictRedis(
|
|
host=os.environ["REDIS_URL"], port=os.environ["REDIS_PORT"], db=3
|
|
)
|
|
|
|
votes: dict = {}
|
|
|
|
for key in db.scan_iter("*"):
|
|
ballot = db.json().get(key)["votes"]
|
|
for entry in ballot:
|
|
if entry["vote"]:
|
|
if entry["cid"] in votes:
|
|
votes[entry["cid"]] += 1
|
|
else:
|
|
votes[entry["cid"]] = 1
|
|
|
|
raw_votes: str = pformat(votes)
|
|
sorted_votes: str = pformat(sorted(votes, key=votes.get, reverse=True))
|
|
|
|
text: list = ["Raw votes:\n\n", raw_votes, "\n\nSorted votes:\n\n", sorted_votes]
|
|
|
|
with open("votes.txt", "w") as f:
|
|
f.writelines(text)
|
|
|
|
payload: dict = {
|
|
"description": "ReVanced Poll Results",
|
|
"sections": [
|
|
{"name": "Raw Votes", "syntax": "autodetect", "contents": raw_votes},
|
|
{
|
|
"name": "Sorted Votes (higher first)",
|
|
"syntax": "autodetect",
|
|
"contents": sorted_votes,
|
|
},
|
|
],
|
|
}
|
|
|
|
headers = {
|
|
"Content-Type": "application/json",
|
|
"X-Auth-Token": os.environ["PASTE_EE_KEY"],
|
|
}
|
|
|
|
response: dict = requests.post(paste_url, json=payload, headers=headers).json()
|
|
|
|
print(f'Upload response: {response["link"]}')
|