Ausgabe von youtube-dl anpassen

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Ausgabe von youtube-dl anpassen

Beitrag von Richard » 31.08.2018 10:36:32

Hallo,

ich lasse einige Playlisten automatisch herunterladen immer wenn neue Episoden verfügbar sind. Leider sind die Dateinamen so unlogisch, dass die Sortierung quasi wertlos ist. Ich wollte das nun anpassen und mit 3 Output-Optionen (release_date, timestamp, upload_date) experimentieren. Ich bekomme so aber keinen Download hin. Normal verwende ich das hier in der Config-File:

Code: Alles auswählen

-o /media/usb/youtube-dl/%(title)s.%(ext)s
Es wird der Titel ohne ID mit Erweiterung gespeichert. Wenn ich das jetzt erweitere z. B. in

Code: Alles auswählen

-o /media/usb/youtube-dl/%(release_date)s.%(title)s.%(ext)s
wird ein Fehler ausgegeben:
-bash: Syntaxfehler beim unerwarteten Wort `('
Ich weiß nicht genau was man mit dem 's' hinter dem ) macht. In der Erklärung zu youtube-dl wird auf ein Python-Howto verlinkt, da verstehe ich aber nichts.

EDIT
Das ganze geht wenn ich die Output-Syntax in Quotes setze. Keine Ahnung wieso es bei %(title)s ohne Quotes ging und bei %(release_date)s nnur mit. Vllt. kann aber jemand erklären was es mit dem 's' auf sich hat.

owl102

Re: Ausgabe von youtube-dl anpassen

Beitrag von owl102 » 31.08.2018 11:12:19

Klammern geben normalerweise bei der bash an, daß die Kommandos in einer Sub-Shell gestartet werden sollen. Deswegen sollten Ausdrücke, die Klammern enthalten (oder andere Zeichen, die in der bash eine spezielle Bedeutung haben [1]), immer gequotet werden:

Code: Alles auswählen

$ echo (title)
bash: Syntaxfehler beim unerwarteten Wort `title'
$ echo "(title)"
(title)
[1] http://mywiki.wooledge.org/BashGuide/SpecialCharacters

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Ausgabe von youtube-dl anpassen

Beitrag von Lord_Carlos » 31.08.2018 11:22:54

Vielleicht fehlen da noch die "?

Hier ein Beispiel wie es aussehen kann:
-o "%(uploader)s (%(uploader_id)s)/%(upload_date)s - %(title)s - (%(duration)ss) [%(resolution)s] [%(id)s].%(ext)s"

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Richard
Beiträge: 639
Registriert: 11.10.2012 14:18:37
Lizenz eigener Beiträge: GNU General Public License

Re: Ausgabe von youtube-dl anpassen

Beitrag von Richard » 31.08.2018 12:53:44

Ja, war der Grund, hatte es schon editiert.

Was bedeutet aber das 's' nach der Klammer?

inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Ausgabe von youtube-dl anpassen

Beitrag von inne » 31.08.2018 13:04:35

Richard hat geschrieben: ↑ zum Beitrag ↑
31.08.2018 12:53:44
Was bedeutet aber das 's' nach der Klammer?
Das dürften in Pythons Text-Ersetzung die "named placeholders" sein (alte Methode). Das s gibt IMO an, dass der Wert als String/Text formatiert wird und nicht als z.B. Zahlwert.

Nachtrag: Könnte ggf. hier noch Erklärt sein: https://docs.python.org/2.7/library/str ... matstrings, aber da es eine veraltete Syntax/Methode ist, fehlt das dort vielleicht schon.

Antworten