コード例 #1
0
 def post(self, request):
     tmdb.API_KEY = config.TMDB_API_KEY
     try:
         expert = ExpertPicksCategory.objects.get(expert_id=request.user.pk)
         category = expert.pk
         picks = ExpertPickMovie.objects.filter(category=category)
         picks.delete()
         str = request.POST.get('message', '')
         split = str.split(',')
         i = 1
         for spl in split:
             ID = int(spl)
             Movie.get_or_create(ID)
             new_pick = ExpertPickMovie(
                 category_id=category,
                 order=i,
                 movie_id=ID
             )
             new_pick.save()
             i = i+1
         message = "The list is saved"
         changes = 0
     except ObjectDoesNotExist:
         message = "The user is not expert"
         changes = 1
     return JsonResponse({
         'message': message,
         'changes': changes
     })
コード例 #2
0
    def save_data(self, movie_data_list, collections_list, genre_data_list,
                  production_companies_list, production_countries_list):
        movie_objects = Movie.get_or_create(*movie_data_list)

        for n, movie in enumerate(movie_objects):
            if collections_list[n] is not None:
                collection_object = Collection.get_or_create(
                    collections_list[n])[0]
                movie.is_part_of.connect(collection_object)

        for n, genres in enumerate(genre_data_list):
            movie = movie_objects[n]
            genres_objects = Genre.get_or_create(*genres)
            [movie.genres.connect(genre) for genre in genres_objects]

        for n, production_companies in enumerate(production_companies_list):
            movie = movie_objects[n]
            production_companies_objects = ProductionCompany.get_or_create(
                *production_companies)
            [
                movie.produced_by.connect(production_company)
                for production_company in production_companies_objects
            ]

        for n, production_country in enumerate(production_countries_list):
            movie = movie_objects[n]
            production_country_objects = ProductionCountry.get_or_create(
                *production_country)
            [
                movie.produced_in.connect(production_country)
                for production_country in production_country_objects
            ]
コード例 #3
0
ファイル: movies.py プロジェクト: iamvukasin/filminds
    def get(self, request, pk):
        movie = Movie.get_or_create(pk)

        if movie is None:
            raise Http404

        # insert movie into searched movies table
        if request.user.is_authenticated:
            SearchedMovie.increment_search_count(User.get_user(request.user), movie)

        serializer = MovieSerializer(movie)
        data = serializer.data

        # get actors from TMDB
        movie_credits = tmdb.Movies(pk).credits()
        data['cast'] = []

        for cast in movie_credits['cast'][:MAX_NUM_CASTS]:
            cast_data = {k: v for k, v in cast.items() if k in {'character', 'name', 'profile_path'}}

            # set default profile photo if no photo is received
            # from TMDB
            if cast_data['profile_path'] is None:
                cast_data['profile_path'] = ''
            else:
                cast_data['profile_path'] = f'https://image.tmdb.org/t/p/w276_and_h350_face{cast_data["profile_path"]}'

            data['cast'].append(cast_data)

        return Response(data)
コード例 #4
0
ファイル: movies.py プロジェクト: iamvukasin/filminds
    def get(self, request, pk):
        user = User.get_user(request.user)
        movie = Movie.get_or_create(pk)

        if movie is None:
            raise Http404

        CollectedMovie.objects.filter(user=user, movie=movie).delete()

        # success status
        return Response('')
コード例 #5
0
ファイル: utils.py プロジェクト: iamvukasin/filminds
def add_collected_data(recommended_movies, user):
    """
    Inserts information if the movie is collected by current user.
    """

    for recommended_movie in recommended_movies:
        if Movie.exists(recommended_movie['id']):
            movie = Movie.get_or_create(recommended_movie['id'])

            if CollectedMovie.is_favorite(user, movie):
                recommended_movie['favorite'] = True
            elif CollectedMovie.is_watched(user, movie):
                recommended_movie['watched'] = True
コード例 #6
0
ファイル: movies.py プロジェクト: iamvukasin/filminds
    def get(self, request, pk):
        user = User.get_user(request.user)
        movie = Movie.get_or_create(pk)

        if movie is None:
            raise Http404

        try:
            collected_item = CollectedMovie.objects.filter(user=user, movie=movie).get()
            collected_item.type = self.list_type
        except CollectedMovie.DoesNotExist:
            collected_item = CollectedMovie(
                user=user,
                movie=movie,
                type=self.list_type
            )

        collected_item.save()

        # success status
        return Response('')