diff --git a/prismedia/cli.py b/prismedia/cli.py deleted file mode 100644 index a522c3e..0000000 --- a/prismedia/cli.py +++ /dev/null @@ -1,52 +0,0 @@ -import pluginInterfaces as pi -import utils -import video as vid - -from yapsy.PluginManager import PluginManagerSingleton - - -def helperFunctionality(options): - pluginManager = PluginManagerSingleton.get() - - optionName = "--heartbeat" - if options.get(optionName): - for plugin in pluginManager.getPluginsOfCategory(pi.PluginTypes.PLATFORM): - plugin.plugin_object.heartbeat() - 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 functionality is not yet implemented.") - - return video diff --git a/prismedia/plugins/consumers/debug.yapsy-plugin b/prismedia/plugins/consumers/debug.prismedia-plugin similarity index 100% rename from prismedia/plugins/consumers/debug.yapsy-plugin rename to prismedia/plugins/consumers/debug.prismedia-plugin diff --git a/prismedia/plugins/interfaces/cli.prismedia-plugin b/prismedia/plugins/interfaces/cli.prismedia-plugin new file mode 100644 index 0000000..cb00683 --- /dev/null +++ b/prismedia/plugins/interfaces/cli.prismedia-plugin @@ -0,0 +1,10 @@ +[Core] +Name = cli +Module = cli + +[Documentation] +Author = Zykino +Version = 0.1 +Website = https://git.lecygnenoir.info/LecygneNoir/prismedia +Description = This interface plugin is used to get the videos details from the Command Line Interface (cli). + To work properly it needs to have the `--file=""` argument diff --git a/prismedia/plugins/interfaces/cli.py b/prismedia/plugins/interfaces/cli.py new file mode 100644 index 0000000..05339fe --- /dev/null +++ b/prismedia/plugins/interfaces/cli.py @@ -0,0 +1,39 @@ +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 diff --git a/prismedia/plugins/interfaces/help.yapsy-plugin b/prismedia/plugins/interfaces/help.prismedia-plugin similarity index 56% rename from prismedia/plugins/interfaces/help.yapsy-plugin rename to prismedia/plugins/interfaces/help.prismedia-plugin index 63d47bb..2069694 100644 --- a/prismedia/plugins/interfaces/help.yapsy-plugin +++ b/prismedia/plugins/interfaces/help.prismedia-plugin @@ -6,4 +6,4 @@ Module = help Author = Zykino Version = 0.1 Website = https://git.lecygnenoir.info/LecygneNoir/prismedia -Description = Give informations about plugins usage by using the syntax `prismedia help [...]`. +Description = Give information about plugins usage by using the syntax `prismedia help [...]`. diff --git a/prismedia/plugins/platforms/peertube.yapsy-plugin b/prismedia/plugins/platforms/peertube.prismedia-plugin similarity index 100% rename from prismedia/plugins/platforms/peertube.yapsy-plugin rename to prismedia/plugins/platforms/peertube.prismedia-plugin diff --git a/prismedia/config/peertube_secret.sample b/prismedia/samples/peertube_secret.sample similarity index 100% rename from prismedia/config/peertube_secret.sample rename to prismedia/samples/peertube_secret.sample diff --git a/prismedia/config/youtube_secret.json.sample b/prismedia/samples/youtube_secret.json.sample similarity index 100% rename from prismedia/config/youtube_secret.json.sample rename to prismedia/samples/youtube_secret.json.sample