Ejemplo n.º 1
0
Archivo: app.py Proyecto: marcuniq/yamr
from flask import Flask, jsonify, render_template, request
import tmdbsimple as tmdb
from yamr.dataset import EnhancedDataset
from yamr.recommender import RecommendationEngine
import tmdb_util
import util

app = Flask(__name__)

tmdb.API_KEY = tmdb._get_env_key('TMDB_API_KEY')

dataset_path = 'datasets/ml-latest-enhanced'
ds = EnhancedDataset(dataset_path)

recommender = RecommendationEngine(ds)
recommender.load_model('item_sim_model')


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/api/movies/<int:movieId>')
def movie_detail(movieId):
    movie = ds.find_movie_by_id(movieId)
    movie = tmdb_util.add_trailer(movie)
    return jsonify(movie)


@app.route('/api/movies/top_rated')
Ejemplo n.º 2
0
"""
    before running this script, do

    activate dato-env
    ipcluster start -n 4
"""


def chunks(l, n):
    """Yield successive n-sized chunks from l."""
    for i in xrange(0, len(l), n):
        yield l[i : i + n]


tmdbsimple.API_KEY = tmdbsimple._get_env_key("TMDB_API_KEY")

original = OriginalDataset("datasets/ml-latest")

try:
    enhanced = gl.SFrame(data="datasets/ml-latest-enhanced/movies.csv")
except:
    import unicodedata

    init_tmdb_info = tmdb_util.get_tmdb_info(original.movies[0])
    sf_tmdb_info = gl.SFrame(init_tmdb_info)
    enhanced = original.movies.join(sf_tmdb_info, on="movieId")
    enhanced.export_csv("datasets\\ml-latest-enhanced\\movies.csv")

not_yet_enhanced_movies = original.movies.filter_by(enhanced["movieId"], "movieId", exclude=True)
not_yet_enhanced_movies, dropped_movies = not_yet_enhanced_movies.dropna_split(columns="tmdbId")