예제 #1
0
def run_main(parser, options, args, output=sys.stdout):
    """Run the main scripts from the parsed options/args."""
    required_options = ["title"]
    missing = [opt for opt in required_options if not getattr(options, opt)]
    if missing:
        parser.print_usage()
        msg = "Some required option are missing: %s" % ", ".join(missing)
        raise OptionsMissing(msg)
    home = os.path.expanduser("~")
    default_client_secrets = lib.get_first_existing_filename(
        [sys.prefix, os.path.join(sys.prefix, "local")],
        "share/youtube_upload/client_secrets.json")
    default_credentials = os.path.join(home, ".youtube-upload-credentials.json")
    client_secrets = options.client_secrets or default_client_secrets or \
        os.path.join(home, ".client_secrets.json")
    credentials = options.credentials_file or default_credentials
    access_token = options.access_token
    ca_certs_file = options.ca_certs_file or None

    get_code_callback = (youtube_upload.auth.browser.get_code
        if options.auth_browser else youtube_upload.auth.console.get_code)
    youtube = youtube_upload.auth.get_resource(client_secrets, credentials,
        get_code_callback=get_code_callback, access_token=access_token, ca_certs_file=ca_certs_file)

    if youtube:
        for index, video_path in enumerate(args):
            video_id = upload_video(youtube, options, video_path, len(args), index)
            video_url = WATCH_VIDEO_URL.format(id=video_id)
            output.write("Video URL {0}\n".format(video_url))
            output.flush()
            # output.write(video_id + "\n")
    else:
        raise AuthenticationError("Cannot get youtube resource")
예제 #2
0
def run_main(parser, options, args, output=sys.stdout):
    """Run the main scripts from the parsed options/args."""
    required_options = ["title"]
    missing = [opt for opt in required_options if not getattr(options, opt)]
    if missing:
        parser.print_usage()
        msg = "Some required option are missing: %s" % ", ".join(missing)
        raise OptionsMissing(msg)

    default_client_secrets = \
        os.path.join(sys.prefix, "share/youtube_upload/client_secrets.json")
    home = os.path.expanduser("~")
    default_credentials = os.path.join(home,
                                       ".youtube-upload-credentials.json")
    client_secrets = options.client_secrets or default_client_secrets
    credentials = options.credentials_file or default_credentials
    debug("Using client secrets: {0}".format(client_secrets))
    debug("Using credentials file: {0}".format(credentials))
    youtube = youtube_upload.auth.get_resource(client_secrets, credentials)

    for index, video_path in enumerate(args):
        video_id = upload_video(youtube, options, video_path, len(args), index)
        video_url = WATCH_VIDEO_URL.format(id=video_id)
        debug("Video URL: {0}".format(video_url))
        output.write(video_id + "\n")
예제 #3
0
def run_main(parser, options, args, output=sys.stdout):
    """Run the main scripts from the parsed options/args."""
    required_options = ["title"]
    missing = [opt for opt in required_options if not getattr(options, opt)]
    if missing:
        parser.print_usage()
        msg = "Some required option are missing: {0}".format(", ".join(missing))
        raise OptionsMissing(msg)
    home = os.path.expanduser("~")
    default_client_secrets = lib.get_first_existing_filename(
        [sys.prefix, os.path.join(sys.prefix, "local")],
        "share/youtube_upload/client_secrets.json")  
    default_credentials = os.path.join(home, ".youtube-upload-credentials.json")
    client_secrets = options.client_secrets or default_client_secrets or \
        os.path.join(home, ".client_secrets.json")
    credentials = options.credentials_file or default_credentials
    debug("Using client secrets: {0}".format(client_secrets))
    debug("Using credentials file: {0}".format(credentials))
    get_code_callback = (youtube_upload.auth.browser.get_code 
        if options.auth_browser else youtube_upload.auth.console.get_code)
    youtube = youtube_upload.auth.get_resource(client_secrets, credentials,
        get_code_callback=get_code_callback)

    if youtube:
        for index, video_path in enumerate(args):
            video_id = upload_video(youtube, options, video_path, len(args), index)
            video_url = WATCH_VIDEO_URL.format(id=video_id)
            if options.thumb:
                youtube.thumbnails().set(videoId=video_id, media_body=options.thumb).execute()
            debug("Video URL: {0}".format(video_url))
            output.write(video_id + "\n")
    else:
        raise AuthenticationError("Cannot get youtube resource")
예제 #4
0
def run_main(parser, options, args, output=sys.stdout):
    """Run the main scripts from the parsed options/args."""
    required_options = ["title"]
    missing = [opt for opt in required_options if not getattr(options, opt)]
    if missing:
        parser.print_usage()
        msg = "Some required option are missing: {0}".format(
            ", ".join(missing))
        raise OptionsMissing(msg)
    home = os.path.expanduser("~")
    default_client_secrets = lib.get_first_existing_filename(
        [sys.prefix, os.path.join(sys.prefix, "local")],
        "share/youtube_upload/client_secrets.json")
    default_credentials = os.path.join(home,
                                       ".youtube-upload-credentials.json")
    client_secrets = options.client_secrets or default_client_secrets or \
        os.path.join(home, ".client_secrets.json")
    credentials = options.credentials_file or default_credentials
    debug("Using client secrets: {0}".format(client_secrets))
    debug("Using credentials file: {0}".format(credentials))
    get_code_callback = (youtube_upload.auth.browser.get_code
                         if options.auth_browser else
                         youtube_upload.auth.console.get_code)
    youtube = youtube_upload.auth.get_resource(
        client_secrets, credentials, get_code_callback=get_code_callback)

    if youtube:
        for index, video_path in enumerate(args):
            video_id = upload_video(youtube, options, video_path, len(args),
                                    index)
            video_url = WATCH_VIDEO_URL.format(id=video_id)
            if options.thumb:
                youtube.thumbnails().set(videoId=video_id,
                                         media_body=options.thumb).execute()
            debug("Video URL: {0}".format(video_url))
            output.write(video_id + "\n")
    else:
        raise AuthenticationError("Cannot get youtube resource")
예제 #5
0
def run_main(parser, options, args, output=sys.stdout):
    """Run the main scripts from the parsed options/args."""
    required_options = ["title"]
    missing = [opt for opt in required_options if not getattr(options, opt)]
    if missing:
        parser.print_usage()
        msg = "Some required option are missing: %s" % ", ".join(missing)
        raise OptionsMissing(msg)

    default_client_secrets = \
        os.path.join(sys.prefix, "share/youtube_upload/client_secrets.json")
    home = os.path.expanduser("~")
    default_credentials = os.path.join(home, ".youtube-upload-credentials.json")
    client_secrets = options.client_secrets or default_client_secrets
    credentials = options.credentials_file or default_credentials
    debug("Using client secrets: {0}".format(client_secrets))
    debug("Using credentials file: {0}".format(credentials))
    youtube = youtube_upload.auth.get_resource(client_secrets, credentials)

    for index, video_path in enumerate(args):
        video_id = upload_video(youtube, options, video_path, len(args), index)
        video_url = WATCH_VIDEO_URL.format(id=video_id)
        debug("Video URL: {0}".format(video_url))
        output.write(video_id + "\n")
예제 #6
0
    options.description = '\n'. join(filter(None, [
        'Find out more at: http://13.re-publica.de/node/{0}\n'.format(event_id), 
        event.find('abstract').text,
        description[:1000] + (description[1000:] and '...'),
    ]))
    for p in persons:
        person = schedule.xpath('speakers/speaker[@persons="' + p.get('id') + '"]')[0]
        wo = person.find('website_organization').text
        options.description += ('\n\n' 
            + ' | '.join(filter(None, [person.find(a).text for a in ['fullname', 'website_personal', 'twitter', 'facebook', 'google']])) 
            + str(wo and '\n') + str(wo) 
        )

    keywords = ['#rp13', 'rp13', 're:publica', 'republica', 
        event.find('track').text, event.find('room').text] + [p.text for p in persons]
    options.keywords = ', ' . join(keywords)
    options.category = tracks_to_category[event.find('track').text]
    options.private = True

    video_path = input_dir + '/' + filename;
    
    print options.title + '\n'
    print options.description + '\n'
    print options.keywords + '\n\n\n\n'
    
    if not(dry_run):
        url = youtube_upload.upload_video(youtube, options, video_path, len(files), index)
        output.write(event_id + '\t' + url + "\n")
        upload_log.write(event_id + '\t' + url + "\n")
        os.rename(video_path, output_dir + '/' + filename)