Browse Source

add stubs for poster image caching

master
cinnaboot 6 years ago
parent
commit
2003723386
  1. 9
      video_metadata/static/file_listing.js
  2. 2
      video_metadata/templates/file_listing/file_listing.html
  3. 26
      video_metadata/views/tmdb.py

9
video_metadata/static/file_listing.js

@ -5,6 +5,7 @@ const QUERY_PATH = '/pvdb/tmdb/query_media_json';
const CREATE_MAPPING_PATH = '/pvdb/tmdb/create_path_mapping';
const PATH_PATH = '/pvdb/tmdb/query_path_json';
const VIDEO_PREFIX = '/video/';
const IMAGE_PREFIX = '/pvdb/tmdb/images';
// NOTE: create links for folder contents
@ -113,6 +114,9 @@ function openQueryDialog(dataset, element) {
}
function createBlurb(details) {
console.log('createBlurb(), ' + query_str);
console.log(details);
let qtclone = document.importNode(document.querySelector('#query_result').content, true);
let title_link = qtclone.querySelector('h3 > a');
@ -125,6 +129,11 @@ function createBlurb(details) {
let description = qtclone.querySelector('.query_description');
description.appendChild(document.createTextNode(details.overview));
if (details.poster_path != '') {
let image = qtclone.querySelector('.result_image');
image.src = IMAGE_PREFIX + details.poster_path;
}
return qtclone;
}

2
video_metadata/templates/file_listing/file_listing.html

@ -22,7 +22,7 @@
</template>
<template id="query_result">
<div class="search_result">
<a href=""><img src="{{ url_for('static', filename='no_poster_w154.jpg') }}" /></a>
<img class="result_image" src="{{ url_for('static', filename='no_poster_w154.jpg') }}" />
<h3><a href=""></a></h3>
<ul>
<li><a class="mapping_link" href="">Click here to Select</a></li>

26
video_metadata/views/tmdb.py

@ -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))
###################

Loading…
Cancel
Save