Initial commit
This commit is contained in:
37
examples/ytfeed.browse-entry
Executable file
37
examples/ytfeed.browse-entry
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env python3
|
||||
# 2025 dtb. public domain
|
||||
import sys, xml.etree.ElementTree as ET
|
||||
def f(fmt, e, t):
|
||||
r = e.find(t, {
|
||||
"": "http://www.w3.org/2005/Atom",
|
||||
"media": "http://search.yahoo.com/mrss/",
|
||||
"yt": "http://www.youtube.com/xml/schemas/2015"
|
||||
})
|
||||
return fmt % r.text if r is not None else ""
|
||||
tree = ET.parse(sys.stdin)
|
||||
root = tree.getroot()
|
||||
ytid = f("%s", root, "yt:videoId")
|
||||
print(
|
||||
f("[%s] ", root, "published")
|
||||
+ f("%s - ", root, "author/name")
|
||||
+ f("%s", root, "title")
|
||||
+ "\n\n"
|
||||
+ f("%s", root, "media:group/media:description"),
|
||||
end = "\n\n",
|
||||
file = sys.stderr
|
||||
)
|
||||
print(
|
||||
"#!/usr/bin/env menu" + "\n\n"
|
||||
+ "Download feed." + "\n\n"
|
||||
+ "\t" + "yt-dlp %s" % ytid + "\n\n"
|
||||
+ "Print feed URL." + "\n\n"
|
||||
+ "\t" + "printf 'https://youtube.com/watch?v=%%s\\n' '%s'" % ytid
|
||||
+ "\n\n"
|
||||
+ "Open feed URL in mpv." + "\n\n"
|
||||
# + "\t" + "mpv 'https://youtube.com/watch?v=%s'" % ytid + "\n\n"
|
||||
+ "\t" + "mpv" + " \\\n"
|
||||
+ "\t\t" + "--gpu-sw --profile=fast" + " \\\n"
|
||||
+ "\t\t" + "--script-opts=ytdl_hook-all_formats=yes" + " \\\n"
|
||||
+ "\t\t" + "'https://youtube.com/watch?v=%s'" % ytid,
|
||||
end = "\n\n"
|
||||
)
|
||||
Reference in New Issue
Block a user