예제 #1
0
def channel_info():
    if request.method == 'POST':
        if 'api_key' in session:
            id_channel = request.form.get('unique_id_channel')
            id_username = request.form.get('unique_user_channel')
            part = ', '.join(request.form.getlist('part'))
            api = YouTube(api_key=session['api_key'])

            if 'youtube.com/channel/' in id_channel:
                id_channel = YouTube.cleaning_channel(id_channel)
                channel_result = api.get_query('channels',
                                               id=id_channel,
                                               part=part)
            elif id_username != '':
                id_username = YouTube.cleaning_channel(id_username)
                channel_result = api.get_query('channels',
                                               forUsername=id_username,
                                               part=part)
            else:
                channel_result = api.get_query('channels',
                                               id=id_channel,
                                               part=part)

            channel_result_string = json.dumps(channel_result,
                                               sort_keys=True,
                                               indent=2,
                                               separators=(',', ': '))
            return render_template('methods/view_results.html',
                                   result=channel_result,
                                   string=channel_result_string)
        else:
            return render_template('explore.html', message='api key not set')
    return render_template('explore.html')
예제 #2
0
def channel():
    if request.method == 'POST':
        if not 'api_key' in session:
            return render_template('explore.html', message='api key not set')

        user_id = session['profil']['id']
        query_id = str(uuid4())
        query_name = str(request.form.get('query_name'))
        part = ', '.join(request.form.getlist('part'))
        list_channel_username = [
            YouTube.cleaning_channel(username_or_id)
            for username_or_id in request.form.getlist('list_username')
        ]
        list_channel_id = [
            YouTube.cleaning_channel(username_or_id)
            for username_or_id in request.form.getlist('list_id')
        ]
        list_channel = list_channel_username + list_channel_id
        list_channel_id = list_channel_id[0].splitlines()

        param = {
            'author_id': session['profil']['id'],
            'api_key': session['api_key'],
            'query_id': query_id,
            'query': query_name,
            'channel_id': list_channel_id,
            'channel_username': list_channel_username,
            'part': part,
            'maxResults': maxResults,
            'kind': 'channelItems',
        }

        r_query = requests.post("http://restapp:" + app.config['REST_PORT'] +
                                "/" + user_id + "/add_query/" + query_id,
                                json=param)

        def send_request():
            requests.post("http://restapp:" + app.config['REST_PORT'] + "/" +
                          user_id + "/query/" + query_id +
                          "/add_video/channel",
                          json=param)

        Thread(target=send_request).start()

    return render_template('methods/download_process.html')