コード例 #1
0
ファイル: core.py プロジェクト: beatorizu/Jikan-Gateways-API
    def search_anime(self, name, genre=None):
        resource = 'v3/search/anime?'
        genre_id = TYPE_GENRE['anime']

        params = {"q": name}

        if genre is not None:
            if str(genre).isdigit():
                params.update({"genre": genre})
            else:
                genre = genre_id.get(genre, None)

        # traduz nosso dicionário python nos parametros de busca HTTP
        query_string = urlencode(params)

        full_url = f'{self.URL}{resource}{query_string}'

        print(full_url)

        response = self.client.get(full_url)

        # Not Found
        if response.status_code == 404:
            raise AnimeNotFoundException(name)
        # Service Unavailable
        elif response.status_code == 503:
            raise ServiceUnavailable()

        return response
コード例 #2
0
ファイル: core.py プロジェクト: beatorizu/Jikan-Gateways-API
    def get_top_mal(self, top_type):
        resource = 'v3/top/'

        # traduz nosso dicionário python nos parametros de busca HTTP

        full_url = f'{self.URL}{resource}{top_type}'

        print(full_url)

        response = self.client.get(full_url)
        # Not Found
        if response.status_code == 404 or response.status_code == 400:
            raise TopNotFoundException()
        # Service Unavailable
        elif response.status_code == 503:
            raise ServiceUnavailable()

        return response
コード例 #3
0
ファイル: core.py プロジェクト: beatorizu/Jikan-Gateways-API
    def search_person_works(self, name):
        resource = 'v3/search/people?'

        # traduz nosso dicionário python nos parametros de busca HTTP
        query_string = urlencode({'q': name})

        full_url = f'{self.URL}{resource}{query_string}'

        response = self.client.get(full_url)
        print(full_url)

        # Not Found
        if response.status_code == 404:
            raise MangaNotFoundException(name)
        # Service Unavailable
        elif response.status_code == 503:
            raise ServiceUnavailable()

        return response
コード例 #4
0
ファイル: core.py プロジェクト: beatorizu/Jikan-Gateways-API
    def list_animes_from_season(self, year, season):
        resource = 'v3/season/'

        # traduz nosso dicionário python nos parametros de busca HTTP
        query_string = f'{year}/{season}'

        full_url = f'{self.URL}{resource}{query_string}'

        print(full_url)

        response = self.client.get(full_url)

        # Not Found
        if response.status_code == 404:
            raise SeasonNotFoundException(year, season)
        # Service Unavailable
        elif response.status_code == 503:
            raise ServiceUnavailable()

        return response
コード例 #5
0
ファイル: core.py プロジェクト: beatorizu/Jikan-Gateways-API
    def search_person(self, name):
        resource = 'v3/search/people?'

        # traduz nosso dicionário python nos parametros de busca HTTP
        query_string = urlencode({'q': name})

        full_url = f'{self.URL}{resource}{query_string}'

        print(full_url)

        response = self.client.get(full_url)

        # Not Found
        if response.status_code == 404:
            raise PersonNotFoundException(name)
        # Service Unavailable
        elif response.status_code == 503:
            raise ServiceUnavailable()

        return response

        response = response.json()

        all_persons_id = list()

        for p in response.get('results'):
            all_persons_id.append(p.get('mal_id'))

        results = list()
        resource = 'v3/person/'

        for person in all_persons_id:
            full_url = f'{self.URL}{resource}{person}'
            rs = self.client.get(full_url).json()
            rs = self.delete_unused_entries(rs)
            results.append(rs)

        return results