Пример #1
0
    def get(self,
            media=None,
            store=None,
            params=None,
            query=None,
            flat=False,
            **kwargs):
        if not params:
            params = []

        params.insert(0, media)

        # Request resource
        response = self.http.get(
            params=params,
            query=query,
            **dictfilter(kwargs,
                         get=['exceptions'],
                         pop=['authenticated', 'pagination',
                              'validate_token']))

        # Parse response
        items = self.get_data(response, **kwargs)

        if isinstance(items, PaginationIterator):
            if not flat:
                raise ValueError(
                    'Pagination is only supported with `flat=True`')

            return items.with_mapper(
                lambda items: SyncMapper.process(self.client,
                                                 store,
                                                 items,
                                                 media=media,
                                                 flat=flat,
                                                 **self.flags))

        if isinstance(items, requests.Response):
            return items

        if type(items) is not list:
            return None

        # Map items
        return SyncMapper.process(self.client,
                                  store,
                                  items,
                                  media=media,
                                  flat=flat,
                                  **self.flags)
Пример #2
0
    def get(self,
            media=None,
            store=None,
            params=None,
            query=None,
            flat=False,
            **kwargs):
        if not params:
            params = []

        params.insert(0, media)

        # Request resource
        response = self.http.get(
            params=params,
            query=query,
            **popitems(kwargs, ['authenticated', 'validate_token']))

        # Parse response
        items = self.get_data(response, **kwargs)

        if isinstance(items, requests.Response):
            return items

        if type(items) is not list and not isinstance(items,
                                                      PaginationIterator):
            return None

        # Map items
        return SyncMapper.process(self.client,
                                  store,
                                  items,
                                  media=media,
                                  flat=flat,
                                  **self.flags)
Пример #3
0
    def get(self, media=None, store=None, params=None, query=None, flat=False, **kwargs):
        if not params:
            params = []

        params.insert(0, media)

        # Request resource
        response = self.http.get(
            params=params,
            query=query,
            **popitems(kwargs, [
                'authenticated',
                'validate_token'
            ])
        )

        # Parse response
        items = self.get_data(response, **kwargs)

        if isinstance(items, requests.Response):
            return items

        if type(items) is not list and not isinstance(items, PaginationIterator):
            return None

        # Map items
        return SyncMapper.process(
            self.client, store, items,
            media=media,
            flat=flat,
            **self.flags
        )
Пример #4
0
    def get(self, media, store=None, params=None, **kwargs):
        r_params = [media]

        if params:
            r_params.extend(params)

        response = self.http.get(params=r_params,
                                 authenticated=kwargs.pop(
                                     'authenticated', None))

        items = self.get_data(response, **kwargs)

        if type(items) is not list:
            return None

        return SyncMapper.process(store, items, media, **self.flags)
Пример #5
0
    def get(self, media, store=None, params=None, **kwargs):
        r_params = [media]

        if params:
            r_params.extend(params)

        response = self.http.get(
            params=r_params
        )

        items = self.get_data(response, **kwargs)

        if type(items) is not list:
            return None

        return SyncMapper.process(
            store, items, media,
            **self.flags
        )