|
import pluginInterfaces as pi
|
|
import utils
|
|
import video as vid
|
|
|
|
|
|
class Cli(pi.IInterfacePlugin):
|
|
"""
|
|
This is the default interface plugin. It is used when no interface plugin is specified.
|
|
"""
|
|
|
|
def prepare_options(self, video, options):
|
|
video.path = utils.getOption(options, "--file", video.path)
|
|
video.thumbnail = utils.getOption(options, "--thumbnail", video.thumbnail)
|
|
video.name = utils.getOption(options, "--name", video.name)
|
|
video.description = utils.getOption(options, "--description", video.description)
|
|
video.playlistName = utils.getOption(options, "--playlist", video.playlistName)
|
|
video.privacy = utils.getOption(options, "--privacy", video.privacy).lower()
|
|
video.category = utils.getOption(options, "--category", video.category).lower()
|
|
tags = utils.getOption(options, "--tag", video.tags)
|
|
if isinstance(tags, str):
|
|
tags = tags.split(",")
|
|
video.tags = tags
|
|
video.language = utils.getOption(options, "--language", video.language).lower()
|
|
video.originalDate = utils.getOption(options, "--original-date", video.originalDate)
|
|
# TODO: set as an object: { "all": date1, "platformX": date2, …}?
|
|
# Maybe the publishAt by platform is better placed in `self.platform`
|
|
# And so publishAt would only contains the global date.
|
|
video.publishAt = utils.getOption(options, "--publish-at", video.publishAt)
|
|
# TODO: Add a list of licences
|
|
video.licence = utils.getOption(options, "--licence", video.licence)
|
|
video.disableComments = utils.getOption(options, "--disable-comments", video.disableComments)
|
|
video.nsfw = utils.getOption(options, "--nsfw", video.nsfw)
|
|
|
|
autoOriginalDate = utils.getOption(options, "--auto-original-date", False)
|
|
if autoOriginalDate:
|
|
# TODO: Implement
|
|
raise NotImplementedError("--auto-original-date functionality is not yet implemented.")
|
|
|
|
return video
|