Example #1
0
 def get(self, user=None):
     requested_page = request.args.get('page', default = 1, type = int)
     requested_genres = request.args.get('genres', default = '', type = str)
     response = Tmdb.discover(page = requested_page, genres = requested_genres)
     if (response):
         response_object = Tmdb.convert_list_to_response_object(response, user)
         return make_response(jsonify(response_object)), 200
     else:
         response_object = {
             'status': 'fail',
             'status_code': 500,
             'message': 'Failed to communicate with the tmdb API.'
         }
         return make_response(jsonify(response_object)), 500
Example #2
0
 def test_detail(self):
     """ Testing the TMDB API get show """
     response = Tmdb.detail(69740)
     self.assertTrue(int(response.status_code) == 200)
     data = response.json()
     self.assertTrue(data['id'])
     self.assertTrue(data['name'])
Example #3
0
 def get(self, tmdb_id, user=None):
     requested_page = request.args.get('page', default = 1, type = int)
     if (((isinstance(tmdb_id, str) and tmdb_id.isdecimal()) or (isinstance(tmdb_id, int))) and int(tmdb_id) > 0):
         response = Tmdb.similar(tmdb_id = tmdb_id, page = requested_page)
         if (response):
             response_object = Tmdb.convert_list_to_response_object(response, user)
             return make_response(jsonify(response_object)), 200
         else:
             response_object = {
                 'status': 'fail',
                 'status_code': 500,
                 'message': 'Failed to communicate with the tmdb API.'
             }
             return make_response(jsonify(response_object)), 500
     else:
         response_object = {
             'status': 'fail',
             'status_code': 404,
             'message': 'The TMDB id specified is invalid.'
         }
         return make_response(jsonify(response_object)), 404
Example #4
0
 def get(self, user=None):
     requested_query = request.args.get('query', type = str)
     requested_page = request.args.get('page', default = 1, type = int)
     if (requested_query):
         response = Tmdb.search(query = requested_query, page = requested_page)
         if (response):
             response_object = Tmdb.convert_list_to_response_object(response, user)
             return make_response(jsonify(response_object)), 200
         else:
             response_object = {
                 'status': 'fail',
                 'status_code': 500,
                 'message': 'Failed to communicate with the tmdb API.'
             }
             return make_response(jsonify(response_object)), 500    
     else:
         response_object = {
             'status': 'fail',
             'status_code': 404,
             'message': 'You need to specify the searched term.'
         }
         return make_response(jsonify(response_object)), 404
Example #5
0
 def get(self, tmdb_show_id, season_number):
     if (((isinstance(tmdb_show_id, str) and tmdb_show_id.isdecimal()) or (isinstance(tmdb_show_id, int))) and ((isinstance(season_number, str) and season_number.isdecimal()) or (isinstance(season_number, int))) and int(tmdb_show_id) > 0):
         response = Tmdb.season(tmdb_show_id = tmdb_show_id, season_number = season_number)
         if (response):
             data = response.json()
             response_object = Season.from_dict(data).to_dict()
             response_object['status_code'] = 200
             return make_response(jsonify(response_object)), 200
         else:
             response_object = {
                 'status': 'fail',
                 'status_code': 505,
                 'message': 'Failed to communicate with the tmdb API.'
             }
             return make_response(jsonify(response_object)), 500
     else:
         response_object = {
             'status': 'fail',
             'status_code': 404,
             'message': 'The TMDB id or the season number specified is invalid.'
         }
         return make_response(jsonify(response_object)), 404
Example #6
0
 def get(self, tmdb_id, user=None):
     if (((isinstance(tmdb_id, str) and tmdb_id.isdecimal()) or (isinstance(tmdb_id, int))) and int(tmdb_id) > 0):
         response = Tmdb.detail(tmdb_id = int(tmdb_id))
         if (response):
             data = response.json()
             response_object = Show.from_dict(data).to_dict()
             if(user):
                 response_object['is_liked'] = user.has_favourite(tmdb_id)
             response_object['status_code'] = 200
             return make_response(jsonify(response_object)), 200
         else:
             response_object = {
                 'status': 'fail',
                 'status_code': 500,
                 'message': 'Failed to communicate with the tmdb API.'
             }
             return make_response(jsonify(response_object)), 500
     else:
         response_object = {
             'status': 'fail',
             'status_code': 404,
             'message': 'The TMDB id specified is invalid.'
         }
         return make_response(jsonify(response_object)), 404
Example #7
0
 def test_seasons(self):
     """ Testing the TMDB API seasons endpoint """
     response = Tmdb.season(tmdb_show_id = 69740, season_number = 1)
     self.assertTrue(int(response.status_code) == 200)
     data = response.json()
     self.assertTrue(isinstance(data['episodes'], list))
Example #8
0
 def test_similar(self):
     """ Testing the TMDB API similar endpoint """
     response = Tmdb.similar(69740)
     self.assertTrue(int(response.status_code) == 200)
     data = response.json()
     self.assertTrue(isinstance(data['results'], list))
Example #9
0
 def test_search(self):
     """ Testing the TMDB API search endpoint """
     response = Tmdb.search('ozark')
     self.assertTrue(int(response.status_code) == 200)
     data = response.json()
     self.assertTrue(isinstance(data['results'], list))
Example #10
0
 def test_discover(self):
     """ Testing the TMDB API discover endpoint """
     response = Tmdb.discover()
     self.assertTrue(int(response.status_code) == 200)
     data = response.json()
     self.assertTrue(isinstance(data['results'], list))