From 4be4a1727e99c1cfdc4e7143eda6a52cbc01becc Mon Sep 17 00:00:00 2001 From: LecygneNoir Date: Mon, 12 Mar 2018 09:35:25 +0100 Subject: [PATCH] Add option to disable comments on Peertube (Youtube has no option in API to do that) --- .gitignore | 1 + README.md | 3 ++- lib/pt_upload.py | 12 ++++++++---- prismedia_upload.py | 6 ++++-- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 211ce11..c22856f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ var/ *.egg-info/ .installed.cfg *.egg +.idea # PyInstaller # Usually these files are written by a python script from a template diff --git a/README.md b/README.md index 5e4e8ef..d485118 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ Options: -c, --category=STRING Category for the videos, see below. [ default: Films] --cca License should be CreativeCommon Attribution (affects Youtube upload only) -p, --privacy=STRING Choose between public, unlisted or private. [default: private] + --disable-comments Disable comments (Peertube only) [default: comments are enabled] -h --help Show this help. --version Show version. @@ -57,7 +58,7 @@ Categories: - [x] categories - [x] license: cca or not, affect only Youtube as Peertube uses Attribution by design - [x] privacy (between public, unlisted or private) - - [ ] enabling/disabling comment + - [x] enabling/disabling comment (Peertube only as Youtube API has no option for that) - [ ] nsfw - [ ] thumbnail/preview - [ ] Use a config file (NFO) file to retrieve videos arguments diff --git a/lib/pt_upload.py b/lib/pt_upload.py index a711725..1829fd8 100644 --- a/lib/pt_upload.py +++ b/lib/pt_upload.py @@ -17,7 +17,7 @@ PEERTUBE_SECRETS_FILE = 'peertube_secret' PEERTUBE_PRIVACY = { "public": 1, "unlisted": 2, - "private:": 3 + "private": 3 } @@ -65,7 +65,6 @@ def upload_video(oauth, config, options): ("description", options.get('--description') or "default description"), # look at the list numbers at /videos/privacies ("nsfw", "0"), - ("commentsEnabled", "1"), ("channelId", get_userinfo()), ("videofile", get_videofile(path)) ] @@ -86,6 +85,11 @@ def upload_video(oauth, config, options): else: fields.append(("privacy", "3")) + if options.get('--disable-comments'): + fields.append(("commentsEnabled", "0")) + else: + fields.append(("commentsEnabled", "1")) + multipart_data = MultipartEncoder(fields) headers = { @@ -114,6 +118,6 @@ def run(options): upload_video(oauth, config, options) except Exception as e: if hasattr(e, 'message'): - print(e.message) + print("Error: " + e.message) else: - print(e) + print("Error: " + e) diff --git a/prismedia_upload.py b/prismedia_upload.py index 820426b..4f1d5ab 100755 --- a/prismedia_upload.py +++ b/prismedia_upload.py @@ -15,7 +15,8 @@ Options: -t, --tags=STRING Tags for the video. comma separated -c, --category=STRING Category for the videos, see below. [ default: Films] --cca License should be CreativeCommon Attribution (affects Youtube upload only) - -p, --privacy=STRING Choose between public, unlisted or private. [default: private] + -p, --privacy=STRING Choose between public, unlisted or private. [default: private] + --disable-comments Disable comments (Peertube only) [default: comments are enabled] -h --help Show this help. --version Show version. @@ -95,6 +96,7 @@ if __name__ == '__main__': Optional('--category'): Or(None, And(str, validateCategory, error="Category not recognized, please see --help")), Optional('--privacy'): Or(None, And(str, validatePrivacy, error="Please use recognized privacy between public, unlisted or private")), Optional('--cca'): bool, + Optional('--disable-comments'): bool, '--help': bool, '--version': bool }) @@ -104,5 +106,5 @@ if __name__ == '__main__': except SchemaError as e: exit(e) - yt_upload.run(options) + # yt_upload.run(options) pt_upload.run(options)