mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2025-12-06 02:53:38 -08:00
update
This commit is contained in:
47
.config/rofi/scripts/rofi-metube.py
Executable file
47
.config/rofi/scripts/rofi-metube.py
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/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)
|
||||
Reference in New Issue
Block a user