Spaces:
Sleeping
Sleeping
from pathlib import Path | |
import subprocess | |
def compress(TWITCH_ID: str) -> str: | |
file = f"{TWITCH_ID}.tar.lz4" | |
subprocess.Popen(["tar", "-clvf", file, TWITCH_ID]).communicate() | |
return file | |
def upload(file: str, prefix: str = "frames/"): | |
subprocess.Popen( | |
[ | |
"rclone", | |
"--config", | |
"rclone.conf", | |
"copy", | |
file, | |
f"r2:lol-highlights-eu/{prefix}/", | |
] | |
).communicate() | |
def download(file: str, out_folder: str = "."): | |
if not Path(file).exists(): | |
print( | |
subprocess.Popen( | |
[ | |
"rclone", | |
"--config", | |
"rclone.conf", | |
"copy", | |
f"r2:lol-highlights-eu/{file}", | |
out_folder, | |
] | |
).communicate() | |
) | |
return file | |
def list_files(directory: str) -> list[str]: | |
out, _ = subprocess.Popen( | |
[ | |
"rclone", | |
"--config", | |
"rclone.conf", | |
"ls", | |
"--exclude", | |
"*.jpg", | |
f"r2:lol-highlights-eu/{directory}", | |
], | |
stdout=subprocess.PIPE, | |
).communicate() | |
out = [x.strip().split(" ")[-1] for x in out.decode("utf-8").split("\n") if len(x)] | |
return out | |
def decompress(file: str): | |
subprocess.Popen(["tar", "-xvf", file]).communicate() | |
def download_frames_and_unpack(filename: str): | |
download(f"frames/{filename}") | |
decompress(filename) | |
Path(filename).unlink() | |