|
import pluginInterfaces as pi
|
|
import utils
|
|
import video as vid
|
|
|
|
from yapsy.PluginManager import PluginManagerSingleton
|
|
|
|
def helperFunctionnality(options):
|
|
pluginManager = PluginManagerSingleton.get()
|
|
|
|
optionName = "--hearthbeat"
|
|
if options.get(optionName):
|
|
for plugin in pluginManager.getPluginsOfCategory(pi.PluginTypes.PLATFORM):
|
|
plugin.plugin_object.hearthbeat()
|
|
return False
|
|
else:
|
|
options.pop(optionName)
|
|
|
|
return True
|
|
|
|
|
|
def parseOptions(options):
|
|
video = vid.Video()
|
|
|
|
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 functionnality is not yet implemented.")
|
|
|
|
return video
|