|
|
|
|
@ -12,7 +12,8 @@ from urllib.error import URLError, HTTPError
|
|
|
|
|
import urllib.parse |
|
|
|
|
import urllib.request |
|
|
|
|
|
|
|
|
|
from flask import Blueprint, current_app, flash, Flask, jsonify, request, render_template, Response |
|
|
|
|
from flask import Blueprint, current_app, flash, Flask, jsonify, request, redirect, \ |
|
|
|
|
render_template, Response, url_for |
|
|
|
|
|
|
|
|
|
from .. import util |
|
|
|
|
from .. import db |
|
|
|
|
@ -27,6 +28,9 @@ TMDB_SEARCH_MOVIE = '/3/search/movie'
|
|
|
|
|
TMDB_SEARCH_TV = '/3/search/tv' |
|
|
|
|
TMDB_MOVIE_LINK_URL = 'https://www.themoviedb.org/movie/' |
|
|
|
|
TMDB_TV_LINK_URL = 'https://www.themoviedb.org/tv/' |
|
|
|
|
TMDB_POSTER_PREFIX = 'https://image.tmdb.org/t/p/w154' |
|
|
|
|
VALID_IMAGE_EXTENSIONS = ('.jpg', '.png', '.svg') |
|
|
|
|
DEFAULT_POSTER_IMAGE = 'no_poster_w154.jpg' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#################### |
|
|
|
|
@ -276,9 +280,25 @@ def create_path_mapping():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@bp.route('/images/<string:image_name>') |
|
|
|
|
def cache_image(image_name = ''): |
|
|
|
|
def cache_image(image_name:str = ''): |
|
|
|
|
current_app.logger.debug(f'image_name: {image_name}') |
|
|
|
|
return image_name |
|
|
|
|
|
|
|
|
|
if image_name != '': |
|
|
|
|
s = re.sub(r'/', '', image_name) |
|
|
|
|
ext = re.compile(r'.[a-zA-Z]{3}$').search(image_name).group(0) |
|
|
|
|
print(f'ext: "{ext}"') |
|
|
|
|
|
|
|
|
|
if not ext in VALID_IMAGE_EXTENSIONS: |
|
|
|
|
print('oops') |
|
|
|
|
else: |
|
|
|
|
print(f'seems okay: {ext}') |
|
|
|
|
|
|
|
|
|
url = f'{TMDB_POSTER_PREFIX}/{s}' |
|
|
|
|
|
|
|
|
|
#res = Response(json.dumps(results, cls=result_encoder)) |
|
|
|
|
#res.headers.set('Content-Type', 'application/json') |
|
|
|
|
#return str(f'image_name: {image_name}, url: {url}') |
|
|
|
|
return redirect(url_for('static', filename=DEFAULT_POSTER_IMAGE)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
################### |
|
|
|
|
|