#!/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)