|
4 | 4 | from urlparse import urlparse, parse_qs
|
5 | 5 | from socket import gaierror
|
6 | 6 | import requests
|
| 7 | +from werkzeug import secure_filename |
| 8 | + |
7 | 9 | from flask import render_template, flash, abort, redirect, Markup, request, escape, jsonify, g
|
8 | 10 | from coaster.views import load_models
|
9 | 11 | from baseframe.forms import render_form, render_redirect, render_delete_sqla, render_message
|
|
13 | 15 | from hgtv.models import db, Channel, Video, Playlist, PlaylistVideo, CHANNEL_TYPE
|
14 | 16 | from hgtv.models.channel import PLAYLIST_AUTO_TYPE
|
15 | 17 | from hgtv.views.login import lastuser
|
| 18 | +from hgtv.upload import uploaded_thumbnails, return_werkzeug_filestorage |
16 | 19 |
|
17 | 20 |
|
18 | 21 | class DataProcessingError(Exception):
|
@@ -40,7 +43,9 @@ def process_video(video, new=False):
|
40 | 43 | video.description = escape(r.json['entry']['media$group']['media$description']['$t'])
|
41 | 44 | for item in r.json['entry']['media$group']['media$thumbnail']:
|
42 | 45 | if item['yt$name'] == 'mqdefault':
|
43 |
| - video.thumbnail_url = item['url'] # .replace('hqdefault', 'mqdefault') |
| 46 | + thumbnail_url_request = requests.get(item['url']) |
| 47 | + filestorage = return_werkzeug_filestorage(thumbnail_url_request, filename=secure_filename(r.json['entry']['title']['$t'])) |
| 48 | + video.thumbnail_url = uploaded_thumbnails.save(filestorage) |
44 | 49 | video.video_sourceid = video_id
|
45 | 50 | video.video_source = u"youtube"
|
46 | 51 | except requests.ConnectionError:
|
|
0 commit comments