mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2025-05-22 21:05:52 -07:00
48 lines
1.3 KiB
Python
Executable File
48 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
from pathlib import Path
|
|
from subprocess import PIPE, Popen
|
|
from sys import exit as sysexit
|
|
|
|
from rofi import Rofi
|
|
|
|
CFG_FILE = "~/.config/rofi/aniwrapper-dracula.rasi"
|
|
|
|
|
|
def send_notification(title, message):
|
|
Popen(["notify-send", title, message])
|
|
|
|
|
|
if __name__ == "__main__":
|
|
cfg = Path(CFG_FILE).expanduser()
|
|
if not cfg.exists():
|
|
print("Config file not found:", cfg)
|
|
sysexit(1)
|
|
|
|
# make sure rofi cfg file is valid
|
|
rofi = Rofi(
|
|
config_file="",
|
|
theme_str="window { width: 35%; height: 10%; anchor: north; location: north;}",
|
|
)
|
|
url = rofi.text_entry("Enter YouTube URL:")
|
|
|
|
# Make sure the URL is valid
|
|
if not url.startswith("https://www.youtube.com/watch?v="):
|
|
print("Invalid URL")
|
|
sysexit(1)
|
|
|
|
# Send video to metube using ~/.bin/metube
|
|
with Popen(
|
|
["/home/sudacode/.bin/metube", f"{url}"],
|
|
stdout=PIPE,
|
|
stderr=PIPE,
|
|
) as proc:
|
|
res = proc.communicate()
|
|
if proc.returncode != 0:
|
|
send_notification("Metube Upload Failed", res[1].decode("utf-8"))
|
|
print(res[1].decode("utf-8"))
|
|
sysexit(1)
|
|
print(res[0].decode("utf-8"))
|
|
send_notification("Metube Upload Successful", res[0].decode("utf-8"))
|
|
sysexit(0)
|