async def handle_file(self, name, path): if path in self.movies.keys(): if not settings.ALLOW_DB_UPDATE: return # update old movies data. movie = self.movies[path] update = True else: movie = Movie() update = False movie = await self.resolver_set.resolve(path, movie) if not movie.poster: self.loop.call_soon(self.message, self.command.style.NOTICE('NO POSTER'), path) else: self.report.poster += 1 self.report.success += 1 movie.path = path self.loop.call_soon(movie.save) if not update: self.loop.call_soon(NewMovieNotification.notify_all, movie) self.loop.call_soon(self.symlink, path) self.loop.call_soon(self.message, self.command.style.SUCCESS("ADDED"), "%s as %s" % (path, movie.title)) else: self.loop.call_soon(self.message, self.command.style.SUCCESS("UPDATED"), "%s as %s" % (path, movie.title))
async def resolve(self, path, movie): if movie.title: return movie #Report.fail += 1 name, ext = os.path.splitext(os.path.basename(path)) infos = guess_movie_info(name) if infos.get('title'): return Movie(title=infos['title']) else: return Movie(title=name)
async def search(self, name): infos = guess_movie_info(name) if not infos.get('title'): return try: params = urlencode({ 's': infos['title'], 'y': infos['year'], 'type': 'movie', 'r': 'json' }) except KeyError: params = urlencode({ 's': infos['title'], 'type': 'movie', 'r': 'json' }) url = 'http://www.omdbapi.com/?%s' % params async with self.aiohttp_session.get(url) as resp: resp = json.loads(await resp.text()) if "Search" in resp: for res in resp['Search']: poster = res['Poster'] if res['Poster'] != 'N/A' else "" return Movie( title=res['Title'], imdbid=res['imdbID'], poster=await save_poster(poster, self.loop, self.aiohttp_session), )
def recommend(request): global idOwner, nameOwner, startLetter slCopy = startLetter idOwner = getOrCreateUserCookie(request.session) if idOwner == 0: #Attempt to hit this page directly - don't allow; redirect to home nameOwner = "" return HttpResponseRedirect("") if request.method == "POST": for key in request.POST.keys(): if key not in [ "rmovie", "csrfmiddlewaretoken", "mr" ]: # 3 parameters that POST sends, check for additional startLetter = key rmovie = request.POST.get("rmovie", "") mrating = request.POST.get("mr", "") if startLetter == "Rate" and rmovie != "": #user pressed "RATE" button getMovie = Movie.objects.filter(title=rmovie) if getMovie.exists(): tryRating, created = Rating.objects.get_or_create( user=idOwner, id=Movie.id, defaults={'rating': mrating}) if not created: newRating = Rating(idrating=tryRating.idrating, user=idOwner, id=Movie.id, rating=mrating) newRating.save() else: newMovie = Movie(title=rmovie) newMovie.save() newM = Movie.objects.filter(title=rmovie) newRating = Rating(user=idOwner, id=newM[0].id, rating=mrating) newRating.save() if startLetter == "Rate": startLetter = slCopy getMovies = Movie.objects.filter( Q(title__startswith=startLetter) | Q(title__startswith=startLetter.lower())).order_by('rating')[:10] return render( request, "application/Rating2.html", { "note": "", "response": getMovies, "startLetter": startLetter, "user": idOwner })
def addMovie(userID): form = MovieForm() if form.validate_on_submit(): movie = Movie( movie_name = form.movie_name.data, movie_genre = form.movie_genre.data, user_id = userID ) db.session.add(movie) db.session.commit() return redirect(url_for('movieList', userID=userID)) return render_template('addMovie.html', subheading="Add Movie", form=form)
def setUp(self): db.create_all() test_user= User( first_name = "Fardin", last_name = "Shah", age = 26 ) test_movie = Movie( movie_name = "King Kong", movie_genre = "Action" ) test_user.movies.append(test_movie) db.session.add(test_user) db.session.add(test_movie) db.session.commit()
async def handle_file(self, name, path): if path in self.movies: self.loop.call_soon(self.message, self.command.style.SUCCESS("ALREADY IN DB"), path) return movie = await self.resolver_set.resolve(path, Movie()) if not movie.poster: self.loop.call_soon(self.message, self.command.style.NOTICE('NO POSTER'), path) else: self.report.poster += 1 self.report.success += 1 movie.path = path self.loop.call_soon(movie.save) self.loop.call_soon(NewMovieNotification.notify_all, movie) self.loop.call_soon(self.symlink, path) self.loop.call_soon(self.message, self.command.style.SUCCESS("ADDED"), "%s as %s" % (path, movie.title))
image = image_url + r['poster_path'] j = getJson(data_url, (api_id, api_key)) actor = ", ".join(person['name'] for person in j['credits']['cast'][:2]) director = ", ".join(person['name'] for person in j['credits']['crew'] if person['job'] == "Director") description = j['overview'] or "N/A" except: image = " " actor = " " director = " " description = "N\A" mov = Movie() mov.id = db_id mov.title = title mov.link = link mov.image = image mov.director = director mov.actor = actor mov.description = description #mov.save() movs.append(mov) Movie.objects.bulk_create(movs) loadRatings = raw_input("Load Ratings? [y,N]> ") if ('y' in loadRatings.lower()): rats = [] with codecs.open("datasets/movielens/ml-100k/u.data") as f: