[ytdl] update for yt-dlp changes
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
# Copyright 2021-2022 Mike Fährmann
|
# Copyright 2021-2023 Mike Fährmann
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License version 2 as
|
# it under the terms of the GNU General Public License version 2 as
|
||||||
@@ -199,13 +199,18 @@ def parse_command_line(module, argv):
|
|||||||
action += args
|
action += args
|
||||||
yield action
|
yield action
|
||||||
|
|
||||||
if getattr(opts, "parse_metadata", None) is None:
|
|
||||||
opts.parse_metadata = []
|
|
||||||
if opts.metafromtitle is not None:
|
if opts.metafromtitle is not None:
|
||||||
opts.parse_metadata.append("title:%s" % opts.metafromtitle)
|
if "pre_process" not in opts.parse_metadata:
|
||||||
|
opts.parse_metadata["pre_process"] = []
|
||||||
|
opts.parse_metadata["pre_process"].append(
|
||||||
|
"title:%s" % opts.metafromtitle)
|
||||||
opts.metafromtitle = None
|
opts.metafromtitle = None
|
||||||
opts.parse_metadata = list(itertools.chain.from_iterable(map(
|
|
||||||
metadataparser_actions, opts.parse_metadata)))
|
opts.parse_metadata = {
|
||||||
|
k: list(itertools.chain.from_iterable(map(
|
||||||
|
metadataparser_actions, v)))
|
||||||
|
for k, v in opts.parse_metadata.items()
|
||||||
|
}
|
||||||
else:
|
else:
|
||||||
opts.parse_metadata = ()
|
opts.parse_metadata = ()
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
# Copyright 2022 Mike Fährmann
|
# Copyright 2022-2023 Mike Fährmann
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License version 2 as
|
# it under the terms of the GNU General Public License version 2 as
|
||||||
@@ -263,10 +263,14 @@ class Test_CommandlineArguments_YtDlp(Test_CommandlineArguments):
|
|||||||
def test_metadata_from_title(self):
|
def test_metadata_from_title(self):
|
||||||
opts = self._(["--metadata-from-title", "%(artist)s - %(title)s"])
|
opts = self._(["--metadata-from-title", "%(artist)s - %(title)s"])
|
||||||
self.assertEqual(opts["postprocessors"][0], {
|
self.assertEqual(opts["postprocessors"][0], {
|
||||||
"key": "MetadataParser",
|
"key" : "MetadataParser",
|
||||||
"when": "pre_process",
|
"when" : "pre_process",
|
||||||
"actions": [self.module.MetadataFromFieldPP.to_action(
|
"actions": {
|
||||||
"title:%(artist)s - %(title)s")],
|
"pre_process": [
|
||||||
|
self.module.MetadataFromFieldPP.to_action(
|
||||||
|
"title:%(artist)s - %(title)s")
|
||||||
|
],
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user