def post(self): data = json.loads(self.request.body.decode('utf-8')) q = data['query'] max_results = data['maxResults'] results = youtube.search(q, max_results) res = {} for r in results: res[youtube.get_id(r)] = youtube.get_title(r) self.set_status(200) self.write(res) self.finish()
def karaoke(): global lines_words global videoID session['CURR_LINE_NUM'] = 0 session['SEARCH'] = request.form.get('search') search_response = youtube_api.search(query=session['SEARCH']) for search_result in search_response.get("items", []): if search_result["id"]["kind"] == "youtube#video": videoID = search_result['id']['videoId'] #get .srt file # if not path.exists("srt/"+videoID+".srt"): # url = 'http://www.nitrxgen.net/youtube_cc/' + videoID + '.csv' # wget.download(url, out="csv/"+videoID+".csv", bar=None) # eng_index = parse_lang.parse_lang("csv/"+videoID + ".csv") # url = 'http://www.nitrxgen.net/youtube_cc/' + videoID + '/' + eng_index + '.srt' # filename = wget.download(url, out="srt/"+videoID+".srt", bar=None) if path.exists("srt/"+videoID+".srt"): session['vid_data'] = parse_srt.parse_srt("srt/"+videoID+".srt") else: return redirect("/") urls = list() lines_words = img_download.parse_lines_words(session['vid_data']) curr_list = lines_words[session['CURR_LINE_NUM']] last_words = curr_list.copy() conn = database.create_connection("database.db") for i in range(len(curr_list)): rows = database.select_img(conn, curr_list[i].strip(",.!?")) if rows != None: urls.append(rows[0]) dynamic_image = open('templates/images.html', 'w+') if len(urls) <= 4: width = 100/5 html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(len(urls)): html += '''<div class=dynamic_image style="width: ''' + str(width) + '''%"><img src="''' + urls[i] + '''" class="dynamic_image"><br><p class=dynamic_image>''' + curr_list[i].upper() + '''</p></div>''' html += '''</div>''' elif len(urls) <= 8: width = 100/len(urls) html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(len(urls)): html += '''<div class=dynamic_image style="width: ''' + str(width) + '''%"><img src="''' + urls[i] + '''" class="dynamic_image"><br><p class=dynamic_image>''' + curr_list[i].upper() + '''</p></div>''' html += '''</div>''' else: width = 100/8 html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(8): html += '''<div class=dynamic_image style="width: ''' + str(width) + '''%"><img src="''' + urls[i] + '''" class="dynamic_image"><br><p class=dynamic_image>''' + curr_list[i].upper() + '''</p></div>''' html += '''</div>''' html += '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(8, len(urls)): html += '''<div class=dynamic_image style="width: ''' + str(width) + '''%"><img src="''' + urls[i] + '''" class="dynamic_image"><br><p class=dynamic_image>''' + curr_list[i].upper() + '''</p></div>''' html += '''</div>''' dynamic_image.write(html) dynamic_image.close() return render_template('karaoke.html')
def search(self): textboxValue = self.textbox.text() results = youtube.search(textboxValue) self.build_list(results)
def normal(): global videoID global lines_words global last_words global ARGS global num_words global title ARGS = 0 session['CURR_LINE_NUM'] = 0 session['CURR_LINE_NUM'] = 0 session['SEARCH'] = request.form.get('search') search_response = youtube_api.search(query=session['SEARCH']) for search_result in search_response.get("items", []): if search_result["id"]["kind"] == "youtube#video": videoID = search_result['id']['videoId'] if path.exists("srt/" + videoID + ".srt"): session['vid_data'] = parse_srt.parse_srt("srt/" + videoID + ".srt") else: videoIDs = ['E1ZVSFfCk9g', 'CnAmeh0-E-U', 'SlPhMPnQ58k'] videoID = random.choice(videoIDs) if videoID == 'E1ZVSFfCk9g': title = "Time" elif videoID == 'CnAmeh0-E-U': title = "Sucker" else: title = "Memories" # if not path.exists("srt/"+videoID+".srt"): # url = 'http://www.nitrxgen.net/youtube_cc/' + videoID + '.csv' # wget.download(url, out="csv/"+videoID+".csv", bar=None) # eng_index = parse_lang.parse_lang("csv/"+videoID + ".csv") # url = 'http://www.nitrxgen.net/youtube_cc/' + videoID + '/' + eng_index + '.srt' # filename = wget.download(url, out="srt/"+videoID+".srt", bar=None) session['vid_data'] = parse_srt.parse_srt("srt/" + videoID + ".srt") words, num_words = img_download.parse_data(session['vid_data']) urls = list() lines_words = img_download.parse_lines_words(session['vid_data']) curr_list = lines_words[session['CURR_LINE_NUM']] last_words = curr_list.copy() conn = database.create_connection("database.db") for i in range(len(curr_list)): rows = database.select_img(conn, curr_list[i].strip(",.!?")) if rows != None: urls.append(rows[0]) dynamic_image = open('templates/images.html', 'w+') if len(urls) <= 4: width = 100 / 5 html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(len(urls)): html += '''<div class=dynamic_image style="width: ''' + str( width) + '''%"><img src="''' + urls[ i] + '''" class="dynamic_image"><br><input name="''' + str( i) + '''"type="text" class=dynamic_image></div>''' ARGS += 1 html += '''</div>''' elif len(urls) <= 8: width = 100 / len(urls) html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(len(urls)): html += '''<div class=dynamic_image style="width: ''' + str( width) + '''%"><img src="''' + urls[ i] + '''" class="dynamic_image"><br><input name="''' + str( i) + '''"type="text" class=dynamic_image></div>''' ARGS += 1 html += '''</div>''' else: width = 100 / 8 html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(8): html += '''<div class=dynamic_image style="width: ''' + str( width) + '''%"><img src="''' + urls[ i] + '''" class="dynamic_image"><br><input name="''' + str( i) + '''"type="text" class=dynamic_image></div>''' ARGS += 1 html += '''</div>''' html += '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(8, len(urls)): html += '''<div class=dynamic_image style="width: ''' + str( width) + '''%"><img src="''' + urls[ i] + '''" class="dynamic_image"><br><input name="''' + str( i) + '''"type="text" class=dynamic_image></div>''' ARGS += 1 html += '''</div>''' dynamic_image.write(html) dynamic_image.close() return render_template('normal.html')
def search(): global lines_words global videoID #find videoID from youtube # try: urls = list() session['SEARCH'] = request.form.get('search') search_response = youtube_api.search(query=session['SEARCH']) for search_result in search_response.get("items", []): if search_result["id"]["kind"] == "youtube#video": videoID = search_result['id']['videoId'] #get .srt file if not path.exists("srt/"+videoID+".srt"): url = 'http://www.nitrxgen.net/youtube_cc/' + videoID + '.csv' wget.download(url, out="csv/"+videoID+".csv", bar=None) eng_index = parse_lang.parse_lang("csv/"+videoID + ".csv") url = 'http://www.nitrxgen.net/youtube_cc/' + videoID + '/' + eng_index + '.srt' filename = wget.download(url, out="srt/"+videoID+".srt", bar=None) session['vid_data'] = parse_srt.parse_srt("srt/"+videoID+".srt") words = img_download.parse_data(session['vid_data']) # for i in words: # img_download.downloadimages(i) lines_words = img_download.parse_lines_words(session['vid_data']) curr_list = lines_words[session['CURR_LINE_NUM']] conn = database.create_connection("database.db") for i in range(len(curr_list)): rows = database.select_img(conn, curr_list[i]) if rows != None: urls.append(rows[0]) dynamic_image = open('templates/images.html', 'w+') if len(urls) <= 4: width = 100/5 html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(len(urls)): html += '''<div class=dynamic_image style="width: ''' + str(width) + '''%"><img src="''' + urls[i] + '''" class="dynamic_image"><br><input type="text" class=dynamic_image></div>''' html += '''</div>''' elif len(urls) <= 8: width = 100/len(urls) html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(len(urls)): html += '''<div class=dynamic_image style="width: ''' + str(width) + '''%"><img src="''' + urls[i] + '''" class="dynamic_image"><br><input type="text" class=dynamic_image></div>''' html += '''</div>''' else: width = 100/8 html = '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(8): html += '''<div class=dynamic_image style="width: ''' + str(width) + '''%"><img src="''' + urls[i] + '''" class="dynamic_image"><br><input type="text" class=dynamic_image></div>''' html += '''</div>''' html += '''<div class="row justify-content-center" style="margin:20px;">''' for i in range(8, len(urls)): html += '''<div class=dynamic_image style="width: ''' + str(width) + '''%"><img src="''' + urls[i] + '''" class="dynamic_image"><br><input type="text" class=dynamic_image></div>''' html += '''</div>''' dynamic_image.write(html) dynamic_image.close() start = session['vid_data'][session['CURR_LINE_NUM']][0][0] end = session['vid_data'][session['CURR_LINE_NUM']][0][1] download_yt.get_music_clip(videoID, start, end) dynamic_vid = open('templates/video.html', 'w+') html = '''<audio controls> <source src="static/music/''' + videoID + '''.mp3" type="audio/mpeg"> Your browser does not support the audio element. </audio>''' dynamic_vid.write(html) dynamic_vid.close() return render_template('normal.html')