Browse Source

Added 'publishAt' functionality, which allows you to upload a video for scheduled publishing.
'publishAt' requires 'privace' to be set to 'private'. Script does not check, whether that's the case but rather fails the upload.
Time has to be in format YYYY-MM-DDThh:mm:ss.sZ (T and Z being literals). Also, as Z indicates time is UTC-0. Consider this when using.

Bene81 9 years ago
parent
commit
a9c4517a9c
1 changed files with 4 additions and 0 deletions
  1. 4 0
      youtube_upload/main.py

+ 4 - 0
youtube_upload/main.py

@@ -109,6 +109,8 @@ def upload_youtube_video(youtube, options, video_path, total_videos, index):
         },
         },
         "status": {
         "status": {
             "privacyStatus": options.privacy,
             "privacyStatus": options.privacy,
+            "publishAt": options.publishAt,
+
         },
         },
         "recordingDetails": {
         "recordingDetails": {
             "location": lib.string_to_dict(options.location),
             "location": lib.string_to_dict(options.location),
@@ -182,6 +184,8 @@ def main(arguments):
         help='Video tags (separated by commas: "tag1, tag2,...")')
         help='Video tags (separated by commas: "tag1, tag2,...")')
     parser.add_option('', '--privacy', dest='privacy', metavar="STRING",
     parser.add_option('', '--privacy', dest='privacy', metavar="STRING",
         default="public", help='Privacy status (public | unlisted | private)')
         default="public", help='Privacy status (public | unlisted | private)')
+    parser.add_option('', '--publishAt', dest='publishAt', metavar="datetime",
+       default="", help='Publish Date: YYYY-MM-DDThh:mm:ss.sZ')
     parser.add_option('', '--location', dest='location', type="string",
     parser.add_option('', '--location', dest='location', type="string",
         default=None, metavar="latitude=VAL,longitude=VAL[,altitude=VAL]",
         default=None, metavar="latitude=VAL,longitude=VAL[,altitude=VAL]",
         help='Video location"')
         help='Video location"')