def getLastLike(request, id): try: # print(id) user_event = LastLikeModel.objects.get(idx_user=id) # print(user_event['idx_movie']) idx_movie = user_event['idx_movie'] movie = MovieModel.objects.get(idx=idx_movie) except: return HttpResponse(status=404) if request.method == 'GET': if movie: serializer = MovieModelSerializer(movie) return JsonResponse(serializer.data, safe=False) else: return HttpResponse(status=404)
def getFantasy(request): try: list_movies = SpecificProfileModel.objects.get(identifier='Fantasy') array = [] for i in list_movies.recommendations: words = i.split('|') movie_id = words[0] movie = MovieModel.objects.get(movie_id=movie_id) array.append(movie) pass except: return HttpResponse(status=404) pass if request.method == 'GET': serializer = MovieModelSerializer(array, many=True) return JsonResponse(serializer.data, safe=False) pass
def getTopLastWatch(request, id): if request.method == 'GET': try: # print(id) list_watch = LastWatchModel.objects.get(idx_user=id) el = list_watch['recommendations'][0].replace('[', '').replace( ']', '').split(',') movie_id = el[0] movie = MovieModel.objects.get(movie_id=movie_id) serializer = MovieModelSerializer(movie) temp = dict(serializer.data) utc_time = datetime.datetime.fromtimestamp(int(el[1]), timezone.utc) local_time = utc_time.astimezone() date_convert = str(local_time.strftime("%Y-%m-%d %H:%M:%S")) temp['last_watched'] = date_convert return JsonResponse(temp, safe=False) except: return HttpResponse(status=404)
def getLastWatchByUserId(request, id): if request.method == 'GET': try: # print(id) list_watch = LastWatchModel.objects.get(idx_user=id) sub_list = list_watch['recommendations'] print(sub_list) array = [] for row in sub_list: words = row.replace('[', '').replace(']', '').split(',') movie_id = words[0] movie = MovieModel.objects.get(movie_id=movie_id) # print(movie) array.append(movie) # print(array) serializer = MovieModelSerializer(array, many=True) return JsonResponse(serializer.data, safe=False) except: return HttpResponse(status=404)
def getActorMoviesByUserId(request, id): try: user = UserModel.objects.get(user_id=id) list_actor = ActorsProfileModel.objects.get(idx_user=user.idx) # print(list_actor.recommendations) array = [] check = [] array_actor = [] for row in list_actor.recommendations[0:3]: actor = row.split('|')[0] array_actor.append(actor) list_movies = SpecificProfileModel.objects.get(identifier=actor) for i in list_movies.recommendations: words = i.split('|') movie_id = words[0] # print(movie_id) check.append(movie_id) # print(check) result = list(set(check)) # print(result) for row in result: movie = MovieModel.objects.get(movie_id=row) array.append(movie) # print(array) except: return HttpResponse(status=404) if request.method == 'GET': serializer = MovieModelSerializer(array, many=True) output_dict = json.loads(json.dumps(serializer.data)) array = [] array.append({'top-actor': array_actor}) array.append(output_dict) # print(array) return JsonResponse(array, safe=False) pass
def getGenresMoviesByUserId(request, id): try: user = UserModel.objects.get(user_id=id) # print(user) list_genres = GenresProfileModel.objects.get(idx_user=user.idx) genre = list_genres.recommendations[0].split('|')[0] list_movies = SpecificProfileModel.objects.get(identifier=genre) # print(list_movies.recommendations) array = [] for i in list_movies.recommendations: words = i.split('|') # print(words) movie_id = words[0] # print(movie_id) movie = MovieModel.objects.get(movie_id=movie_id) # print(movie) array.append(movie) except: return HttpResponse(status=404) if request.method == 'GET': serializer = MovieModelSerializer(array, many=True) return JsonResponse(serializer.data, safe=False) pass
def getMovieFromLastActionByUserId(request, id): try: user = UserModel.objects.get(user_id=id) print(user) list_movie_id = LAModel.objects.get(idx_user=user.idx) print('-------') print(list_movie_id.recommendations) array = [] for i in list_movie_id.recommendations: if i != '': words = i.split('|') print(words) idx_movie = words[0] print(idx_movie) movie = MovieModel.objects.get(idx=idx_movie) print(movie) array.append(movie) except: return HttpResponse(status=404) if request.method == 'GET': serializer = MovieModelSerializer(array, many=True) return JsonResponse(serializer.data, safe=False) pass