コード例 #1
0
    def getPlanned(self):
        status = 'planned'

        sort_status = tools.getSetting('planned.sort')
        sort = tools.account_sort['kitsu'][sort_status]

        params = {
            "fields[anime]":
            "slug,posterImage,coverImage,canonicalTitle,titles,synopsis,subtype,startDate,status,averageRating,popularityRank,ratingRank,episodeCount,episodeLength",
            "fields[users]": "id",
            "filter[user_id]": self.userid,
            "filter[kind]": "anime",
            "filter[status]": status,
            "include": "anime,user,mediaReaction",
            "page[limit]": "500",
            "page[offset]": "0",
            "sort": sort
        }

        anime = requests.get('https://kitsu.io/api/edge/library-entries',
                             headers=self.headers,
                             params=params)
        data = json.loads(anime.content)

        try:
            info = data['included'][1:]
        except:
            info = []

        extracted_items = kitsu_api.KitsuBrowser().extract_items(info)

        sortedItems = tools.sort_anime_by_json(extracted_items, info)

        return sortedItems
コード例 #2
0
    def trending(self):
        anime = []
        resp = cache.hummingCache().cacheCheck(Backend().request, 24,
                                               '/trending/anime')
        load = json.loads(resp)
        data = load['data']

        for a in data:
            self.remaining_threads.append(a['attributes']['canonicalTitle'])
            self.thread_list.put(self.extract, a)

        while len(self.remaining_threads) > 0:
            time.sleep(1)

        sortedItems = tools.sort_anime_by_json(self.extractedItems, data)

        return sortedItems
コード例 #3
0
    def top_upcoming(self, page):
        anime = []

        sort_status = tools.getSetting('upcoming.sort')
        sort = tools.menu_sort[sort_status]

        resp = cache.hummingCache().cacheCheck(
            Backend().request,
            24,
            '/anime?filter[status]=upcoming&sort=%s' % sort,
            page=page)
        load = json.loads(resp)
        data = load['data']

        for a in data:
            self.remaining_threads.append(a['attributes']['canonicalTitle'])
            self.thread_list.put(self.extract, a)

        while len(self.remaining_threads) > 0:
            time.sleep(1)

        sortedItems = tools.sort_anime_by_json(self.extractedItems, data)

        return sortedItems
コード例 #4
0
    def search(self,
               title=None,
               year=None,
               rating=None,
               season=None,
               subtype=None,
               genre=None,
               page=1):
        filters = []

        if title != None and title != '':
            filters.append('filter[text]=%s' % title)
        if season == None or season == '':
            if year != None and year != '':
                filters.append(
                    'filter[season]=winter,spring,summer,fall&filter[seasonYear]=%s'
                    % year)
        if season != None and season != '':
            if year == None or year == '':
                filters.append('filter[season]=%s' % season)
            if year != None and year != '':
                filters.append('filter[season]=%s&filter[seasonYear]=%s' %
                               (season, year))
        if rating != None and rating != '':
            filters.append('filter[ageRating]=%s' % rating)
        if subtype != None and subtype != '':
            filters.append('filter[subtype]=%s' % subtype)
        if genre != None and genre != '':
            filters.append('filter[categories]=%s' % genre)

        #for a in filters:
        #if a == 'filter[text]=None':
        #filters.remove(a)

        filter_string = '&'.join(filters)

        sort_status = tools.getSetting('search.sort')
        sort_string = tools.menu_sort[sort_status]

        if title == None or title == '':
            request = '/anime?' + filter_string + '&sort=%s' % sort_string
        else:
            request = '/anime?' + filter_string

        anime = []

        resp = cache.hummingCache().cacheCheck(Backend().request,
                                               24,
                                               request,
                                               page=page)
        load = json.loads(resp)
        data = load['data']

        for a in data:
            self.remaining_threads.append(a['attributes']['canonicalTitle'])
            self.thread_list.put(self.extract, a)

        while len(self.remaining_threads) > 0:
            time.sleep(1)

        sortedItems = tools.sort_anime_by_json(self.extractedItems, data)

        return sortedItems