コード例 #1
0
 def get_attachments_by_post_id(self,
                                resource_id,
                                includes=None,
                                fields=None):
     url = 'posts/{}/attachments'.format(resource_id)
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #2
0
def test_build_url_generates_url_with_fields():
    expectation = MOCK_URL_ENDPOINT + '?fields%5Bmock%5D=test'

    assert expectation == url_util.build_url(
        MOCK_URL_ENDPOINT,
        fields={'mock': ['test']},
    )
コード例 #3
0
 def get_posts_by_campaign_id(self,
                              resource_id,
                              includes=None,
                              fields=None):
     url = 'campaigns/{}/posts'.format(resource_id)
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #4
0
def test_build_url_generates_url_with_ampersand_if_query_params_present():
    MOCK_INCLUDES = ['example']
    expectation = MOCK_URL_ENDPOINT + '?mock=this&include=example'

    assert expectation == url_util.build_url(
        MOCK_URL_ENDPOINT + '?mock=this',
        includes=MOCK_INCLUDES,
    )
コード例 #5
0
def test_build_url_generates_url_with_includes():
    MOCK_INCLUDES = ['mock', 'include']
    expectation = MOCK_URL_ENDPOINT + '?include=' + '%2C'.join(MOCK_INCLUDES)

    assert expectation == url_util.build_url(
        MOCK_URL_ENDPOINT,
        includes=MOCK_INCLUDES,
    )
コード例 #6
0
ファイル: api.py プロジェクト: Patreon/patreon-python
 def fetch_page_of_pledges(self, campaign_id, page_size, cursor=None, includes=None, fields=None):
     url = "campaigns/{0}/pledges".format(campaign_id)
     params = {"page[count]": page_size}
     if cursor:
         try:
             cursor = self.__as_utc(cursor).isoformat()
         except AttributeError:
             pass
         params.update({"page[cursor]": cursor})
     url += "?" + urlencode(params)
     return self.__get_json(build_url(url, includes=includes, fields=fields))
コード例 #7
0
ファイル: api.py プロジェクト: wuffleton/patreon-python
 def get_webhooks(self, page_size, cursor=None, includes=None, fields=None):
     url = 'webhooks'
     params = {'page[count]': page_size}
     if cursor:
         try:
             cursor = self.__as_utc(cursor).isoformat()
         except AttributeError:
             pass
         params.update({'page[cursor]': cursor})
     url += "?" + urlencode(params)
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #8
0
 def fetch_page_of_pledges(
         self, campaign_id, page_size, cursor=None, includes=None,
         fields=None
 ):
     url = 'campaigns/{0}/pledges'.format(campaign_id)
     params = {'page[count]': page_size}
     if cursor:
         try:
             cursor = self.__as_utc(cursor).isoformat()
         except AttributeError:
             pass
         params.update({'page[cursor]': cursor})
     url += "?" + urlencode(params)
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields)
     )
コード例 #9
0
ファイル: api.py プロジェクト: wuffleton/patreon-python
 def get_campaigns_by_id_members(self,
                                 resource_id,
                                 page_size,
                                 cursor=None,
                                 includes=None,
                                 fields=None):
     url = 'campaigns/{}/members'.format(resource_id)
     params = {'page[count]': page_size}
     if cursor:
         try:
             cursor = self.__as_utc(cursor).isoformat()
         except AttributeError:
             pass
         params.update({'page[cursor]': cursor})
     url += "?" + urlencode(params)
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #10
0
def api_url(*segments, **query):
    path = '/'.join(map(str, segments))

    fields = query.get('fields', None)
    includes = query.get('includes', None)

    if fields:
        del query['fields']

    if includes:
        del query['includes']

    if query:
        path += '?' + urllib_parse.urlencode(query)

    return url_util.build_url(
        API_ROOT_ENDPOINT + path,
        fields=fields,
        includes=includes,
    )
コード例 #11
0
 async def fetch_user(self, includes=None, fields=None):
     return await self.__get_jsonapi_doc(
         build_url('current_user', includes=includes, fields=fields))
コード例 #12
0
ファイル: api.py プロジェクト: Patreon/patreon-python
 def fetch_campaign(self, includes=None, fields=None):
     return self.__get_json(build_url("current_user/campaigns", includes=includes, fields=fields))
コード例 #13
0
 def fetch_campaign(self, includes=None, fields=None):
     return self.__get_jsonapi_doc(
         build_url(
             'current_user/campaigns', includes=includes, fields=fields
         )
     )
コード例 #14
0
 def get_addresses(self, includes=None, fields=None):
     url = 'addresses'
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #15
0
def test_build_url_generates_url_without_params():
    assert url_util.build_url(MOCK_URL_ENDPOINT) == MOCK_URL_ENDPOINT
コード例 #16
0
 def get_bills(self, includes=None, fields=None):
     url = 'bills'
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #17
0
 def get_catagories(self, includes=None, fields=None):
     url = 'catagories'
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #18
0
ファイル: api.py プロジェクト: wuffleton/patreon-python
 def get_members_by_id(self, resource_id, includes=None, fields=None):
     url = 'members/{}'.format(resource_id)
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #19
0
 def get_notifications(self, includes=None, fields=None):
     url = 'notifications'
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #20
0
ファイル: api.py プロジェクト: wuffleton/patreon-python
 def get_identity(self, includes=None, fields=None):
     url = 'identity'
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))
コード例 #21
0
ファイル: api.py プロジェクト: tanabi/patreon-python
 def fetch_user(self, includes=None, fields=None):
     return self.__get_json(
         build_url('current_user', includes=includes, fields=fields))
コード例 #22
0
 def get_current_user(self, includes=None, fields=None):
     url = 'current_user'
     return self.__get_jsonapi_doc(
         build_url(url, includes=includes, fields=fields))