コード例 #1
0
async def test_api_get_errors(api_url):
    with pytest.raises(InvalidTokenError):
        async with prismic.get(api_url, "wrong"):
            pass

    with pytest.raises(AuthorizationNeededError):
        async with prismic.get(api_url, ""):
            pass

    with pytest.raises(InvalidURLError):
        async with prismic.get("htt://wrong_on_purpose", ""):
            pass
コード例 #2
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
 def test_cache(self):
     # Just implement your own cache object by duck-typing
     # https://github.com/prismicio/python-kit/blob/master/prismic/cache.py
     no_cache = NoCache()
     # This api will use the custom cache object
     api = prismic.get('https://micro.prismic.io/api', cache=no_cache)
     self.assertIsNotNone(api)
コード例 #3
0
ファイル: test_doc.py プロジェクト: patch-gardens/python-kit
 def test_references(self):
     preview_token = 'MC5VcXBHWHdFQUFONDZrbWp4.77-9cDx6C3lgJu-_vXZafO-_vXPvv73vv73vv70777-9Ju-_ve-_vSLvv73vv73vv73vv70O77-977-9Me-_vQ'
     api = prismic.get('https://micro.prismic.io/api', preview_token)
     release_ref = api.get_ref('myrelease')
     response = api.query(predicates.at("document.type", "all"),
                          ref=release_ref)
     self.assertGreaterEqual(response.results_size, 1)
コード例 #4
0
ファイル: test_doc.py プロジェクト: spnkr/python-kit
 def test_images(self):
     api = prismic.get('https://micro.prismic.io/api')
     doc = api.get_by_uid('all', 'all')
     url = doc.get_image('all.image').url
     self.assertEqual(
         url,
         'https://prismic-io.s3.amazonaws.com/micro/e185bb021862c2c03a96bea92e170830908c39a3_thermometer.png')
コード例 #5
0
ファイル: test_doc.py プロジェクト: patch-gardens/python-kit
    def test_timestamp(self):
        api = prismic.get('https://micro.prismic.io/api')
        doc = api.get_by_uid('all', 'all')

        timestamp = doc.get_timestamp("all.timestamp")
        self.assertEqual(timestamp.as_datetime,
                         datetime.datetime(2017, 1, 16, 7, 25, 35))
コード例 #6
0
ファイル: test_doc.py プロジェクト: patch-gardens/python-kit
 def test_cache(self):
     # Just implement your own cache object by duck-typing
     # https://github.com/prismicio/python-kit/blob/master/prismic/cache.py
     no_cache = NoCache()
     # This api will use the custom cache object
     api = prismic.get('https://micro.prismic.io/api', cache=no_cache)
     self.assertIsNotNone(api)
コード例 #7
0
ファイル: test_doc.py プロジェクト: spnkr/python-kit
 def test_as_html(self):
     api = prismic.get("http://micro.prismic.io/api")
     doc = api.get_by_uid('all', 'all')
     def link_resolver(document_link):
         return "/document/%s/%s" % (document_link.id, document_link.slug)
     html = doc.as_html(link_resolver)
     self.assertIsNotNone(html)
コード例 #8
0
async def test_form(api_url):
    async with prismic.get(api_url) as api:
        query = api.form("everything").ref(api.get_master()).query(
            predicates.at("document.type", "all"))
        response = await query.submit()

    assert response.results_size >= 2
コード例 #9
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
    def test_date_timestamp(self):
        api = prismic.get('https://lesbonneschoses.prismic.io/api')
        response = api.form('everything').query(predicates.at("document.id", "UlfoxUnM0wkXYXbl"))\
            .ref(api.get_master()).submit()
        doc = response.documents[0]
        # startgist:d0df1672e30871ab6517:prismic-dateTimestamp.py
        # Date and Timestamp predicates
        date_before = predicates.date_before("my.product.releaseDate", datetime.datetime(2014, 6, 1))
        date_after = predicates.date_after("my.product.releaseDate", datetime.datetime(2014, 1, 1))
        date_Between = predicates.date_between("my.product.releaseDate", datetime.datetime(2014, 1, 1), datetime.datetime(2014, 6, 1))
        day_of_month = predicates.day_of_month("my.product.releaseDate", 14)
        day_of_month_after = predicates.day_of_month_after("my.product.releaseDate", 14)
        day_of_month_before = predicates.day_of_month_before("my.product.releaseDate", 14)
        day_of_week = predicates.day_of_week("my.product.releaseDate", "Tuesday")
        day_of_week_after = predicates.day_of_week_after("my.product.releaseDate", "Wednesday")
        day_of_week_before = predicates.day_of_month_before("my.product.releaseDate", "Wednesday")
        month = predicates.month("my.product.releaseDate", "June")
        month_before = predicates.month_before("my.product.releaseDate", "June")
        month_after = predicates.month_after("my.product.releaseDate", "June")
        year = predicates.year("my.product.releaseDate", 2014)
        hour = predicates.hour("my.product.releaseDate", 12)
        hour_before = predicates.hour_before("my.product.releaseDate", 12)
        hour_after = predicates.hour_after("my.product.releaseDate", 12)

        # Accessing Date and Timestamp fields
        date = doc.get_date("blog-post.date")
        date_year = date and date.as_datetime.year
        update_time = doc.get_timestamp("blog-post.update")
        update_hour = update_time and update_time.as_datetime.hours
        # endgist
        self.assertEqual(date_year, 2013)
コード例 #10
0
def test_cache(api_url):
    # Just implement your own cache object by duck-typing
    # https://github.com/prismicio/python-kit/blob/master/prismic/cache.py
    no_cache = NoCache()
    # This api will use the custom cache object
    api = prismic.get(api_url, cache=no_cache)
    assert api is not None
コード例 #11
0
ファイル: test_doc.py プロジェクト: spnkr/python-kit
 def test_api_private(self):
     try:
         # This will fail because the token is invalid, but this is how to access a private API
         api = prismic.get('https://micro.prismic.io/api', 'MC5-XXXXXXX-vRfvv70')
         self.fail('Should have thrown')
     except InvalidTokenError as e:
         pass
コード例 #12
0
ファイル: test_doc.py プロジェクト: patch-gardens/python-kit
    def test_timestamp_html(self):
        api = prismic.get('https://micro.prismic.io/api')
        doc = api.get_by_uid('all', 'all')

        timestamp = doc.get_timestamp("all.timestamp")
        self.assertEqual(timestamp.as_html,
                         '<time>2017-01-16T07:25:35+0000</time>')
コード例 #13
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_simplequery(self):
     # startgist:ab49f6c00b8688fe876b:prismic-simplequery.py
     api = prismic.get("https://lesbonneschoses.prismic.io/api")
     response = api.form("everything").ref(api.get_master())\
         .query(predicates.at("document.type", "product"))\
         .submit()
     # endgist
     self.assertEqual(response.results_size, 16)
コード例 #14
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
 def test_simplequery(self):
     # startgist:ab49f6c00b8688fe876b:prismic-simplequery.py
     api = prismic.get("https://lesbonneschoses.prismic.io/api")
     response = api.form("everything").ref(api.get_master())\
         .query(predicates.at("document.type", "product"))\
         .submit()
     # endgist
     self.assertEqual(response.results_size, 16)
コード例 #15
0
async def test_references(api_url):
    preview_token = 'MC5VcXBHWHdFQUFONDZrbWp4.77-9cDx6C3lgJu-_vXZafO-_vXPvv73vv73vv70777-9Ju-_ve-_vSLvv73vv73vv73vv70O77-977-9Me-_vQ'
    async with prismic.get(api_url, preview_token) as api:
        release_ref = api.get_ref('myrelease')
        response = await api.query(predicates.at("document.type", "all"),
                                   ref=release_ref)

    assert response.results_size >= 1
コード例 #16
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_api_private(self):
     try:
         # startgist:b8844bdf0353cdd46c68:prismic-apiPrivate.py
         # This will fail because the token is invalid, but this is how to access a private API
         api = prismic.get('https://lesbonneschoses.prismic.io/api', 'MC5-XXXXXXX-vRfvv70')
         # endgist
         self.fail('Should have thrown')  # gisthide
     except InvalidTokenError as e:
         pass
コード例 #17
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
 def test_predicates(self):
     # startgist:771a09b9d88e0fb53705:prismic-predicates.py
     api = prismic.get("http://lesbonneschoses.prismic.io/api")
     response = api.form("everything").ref(api.get_master()) \
         .query(predicates.at("document.type", "product"),
                predicates.date_after("my.blog-post.date", 1401580800000))\
         .submit()
     # endgist
     self.assertEqual(response.results_size, 0)
コード例 #18
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_cache(self):
     # startgist:1a43283f77383d57ce02:prismic-cache.py
     # Just implement your own cache object by duck-typing
     # https://github.com/prismicio/python-kit/blob/master/prismic/cache.py
     no_cache = NoCache()
     # This api will use the custom cache object
     api = prismic.get('https://lesbonneschoses.prismic.io/api', cache=no_cache)
     # endgist
     self.assertIsNotNone(api)
コード例 #19
0
ファイル: test_doc.py プロジェクト: patch-gardens/python-kit
 def test_orderings(self):
     api = prismic.get('https://micro.prismic.io/api')
     response = api.query(predicates.at("document.type", "all"),
                          page_size=2,
                          orderings='[my.all.number desc]')
     # The documents are now ordered using the 'number' field, highest first
     docs = response.documents
     self.assertGreaterEqual(docs[0].get_number('all.number').value,
                             docs[1].get_number('all.number').value)
コード例 #20
0
async def test_as_html(api_url):
    async with prismic.get(api_url) as api:
        doc = await api.get_by_uid('all', 'all')

    def link_resolver(document_link):
        return "/document/%s/%s" % (document_link.id, document_link.slug)

    html = doc.as_html(link_resolver)
    assert html is not None
コード例 #21
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_predicates(self):
     # startgist:771a09b9d88e0fb53705:prismic-predicates.py
     api = prismic.get("http://lesbonneschoses.prismic.io/api")
     response = api.form("everything").ref(api.get_master()) \
         .query(predicates.at("document.type", "product"),
                predicates.date_after("my.blog-post.date", 1401580800000))\
         .submit()
     # endgist
     self.assertEqual(response.results_size, 0)
コード例 #22
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
 def test_cache(self):
     # startgist:1a43283f77383d57ce02:prismic-cache.py
     # Just implement your own cache object by duck-typing
     # https://github.com/prismicio/python-kit/blob/master/prismic/cache.py
     no_cache = NoCache()
     # This api will use the custom cache object
     api = prismic.get('https://lesbonneschoses.prismic.io/api',
                       cache=no_cache)
     # endgist
     self.assertIsNotNone(api)
コード例 #23
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
 def test_api_private(self):
     try:
         # startgist:b8844bdf0353cdd46c68:prismic-apiPrivate.py
         # This will fail because the token is invalid, but this is how to access a private API
         api = prismic.get('https://lesbonneschoses.prismic.io/api',
                           'MC5-XXXXXXX-vRfvv70')
         # endgist
         self.fail('Should have thrown')  # gisthide
     except InvalidTokenError as e:
         pass
コード例 #24
0
    def __init__(self, ref_id=None):
        self.api = prismic.get(
            settings.PRISMIC.get("api"), settings.PRISMIC.get("token"))
        self.link_resolver = views.link_resolver
        self.everything_form_name = "everything"

        if ref_id != None:
            self.ref = ref_id
        else:
            self.ref = self.api.get_master()
コード例 #25
0
async def test_orderings(api_url):
    async with prismic.get(api_url) as api:
        response = await api.query(predicates.at("document.type", "all"),
                                   page_size=2,
                                   orderings='[my.all.number desc]')

    # The documents are now ordered using the 'number' field, highest first
    docs = response.documents
    assert docs[0].get_number('all.number').value >= docs[1].get_number(
        'all.number').value
コード例 #26
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_as_html(self):
     api = prismic.get("http://lesbonneschoses.prismic.io/api")
     response = api.form("everything").ref(api.get_master())\
         .query(predicates.at("document.id", "UlfoxUnM0wkXYXbX")).submit()
     # startgist:35dfff6b09283752ac88:prismic-asHtml.py
     def link_resolver(document_link):
         return "/document/%s/%s" % (document_link.id, document_link.slug)
     doc = response.documents[0]
     html = doc.as_html(link_resolver)
     # endgist
     self.assertIsNotNone(html)
コード例 #27
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_get_text(self):
     api = prismic.get('https://lesbonneschoses.prismic.io/api')
     response = api.form('everything').query(predicates.at("document.id", "UlfoxUnM0wkXYXbl"))\
         .ref(api.get_master()).submit()
     doc = response.documents[0]
     # // startgist:f092312c243181a45ebf:prismic-getText.py
     author = doc.get_text("blog-post.author")
     if author is None:
         author = "Anonymous"
     # endgist
     self.assertEqual(author, "John M. Martelle, Fine Pastry Magazine")
コード例 #28
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
 def test_get_text(self):
     api = prismic.get('https://lesbonneschoses.prismic.io/api')
     response = api.form('everything').query(predicates.at("document.id", "UlfoxUnM0wkXYXbl"))\
         .ref(api.get_master()).submit()
     doc = response.documents[0]
     # // startgist:f092312c243181a45ebf:prismic-getText.py
     author = doc.get_text("blog-post.author")
     if author is None:
         author = "Anonymous"
     # endgist
     self.assertEqual(author, "John M. Martelle, Fine Pastry Magazine")
コード例 #29
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
    def test_as_html(self):
        api = prismic.get("http://lesbonneschoses.prismic.io/api")
        response = api.form("everything").ref(api.get_master())\
            .query(predicates.at("document.id", "UlfoxUnM0wkXYXbX")).submit()

        # startgist:35dfff6b09283752ac88:prismic-asHtml.py
        def link_resolver(document_link):
            return "/document/%s/%s" % (document_link.id, document_link.slug)

        doc = response.documents[0]
        html = doc.as_html(link_resolver)
        # endgist
        self.assertIsNotNone(html)
コード例 #30
0
 def __init__(self, request):
     self.api = prismic.get(settings.PRISMIC.get("api"), settings.PRISMIC.get("token"))
     self.link_resolver = views.link_resolver
     self.everything_form_name = "everything"
     self.google_id = self.api.experiments.current()
     preview_ref = request.COOKIES.get(prismic.PREVIEW_COOKIE)
     experiment_ref = self.api.experiments.ref_from_cookie(request.COOKIES.get(prismic.EXPERIMENTS_COOKIE))
     if preview_ref is not None:
         self.ref = preview_ref
     elif experiment_ref is not None:
         self.ref = experiment_ref
     else:
         self.ref = self.api.get_master()
コード例 #31
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_orderings(self):
     # startgist:f2c310e66a5c13e225ae:prismic-orderings.py
     api = prismic.get('https://lesbonneschoses.prismic.io/api')
     response = api.form('everything')\
         .ref(api.get_master())\
         .query(predicates.at("document.type", "product"))\
         .pageSize(100)\
         .orderings('[my.product.price desc]')\
         .submit()
     # The products are now ordered by price, highest first
     results = response.results
     # endgist
     self.assertEqual(response.results_per_page, 100)
コード例 #32
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
 def test_orderings(self):
     # startgist:f2c310e66a5c13e225ae:prismic-orderings.py
     api = prismic.get('https://lesbonneschoses.prismic.io/api')
     response = api.form('everything')\
         .ref(api.get_master())\
         .query(predicates.at("document.type", "product"))\
         .pageSize(100)\
         .orderings('[my.product.price desc]')\
         .submit()
     # The products are now ordered by price, highest first
     results = response.results
     # endgist
     self.assertEqual(response.results_per_page, 100)
コード例 #33
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_images(self):
     api = prismic.get('https://lesbonneschoses.prismic.io/api')
     response = api.form('everything').query(predicates.at("document.id", "UlfoxUnM0wkXYXbO")) \
         .ref(api.get_master()).submit()
     doc = response.documents[0]
     # startgist:4871fb63a54185ee562f:prismic-images.py
     # Accessing image fields
     image = doc.get_image('product.image')
     # By default the 'main' view is returned
     url = image.url
     # endgist
     self.assertEqual(
         url,
         'https://prismic-io.s3.amazonaws.com/lesbonneschoses/f606ad513fcc2a73b909817119b84d6fd0d61a6d.png')
コード例 #34
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_references(self):
     # startgist:81d114ef589118245811:prismic-references.py
     preview_token = 'MC5VbDdXQmtuTTB6Z0hNWHF3.c--_vVbvv73vv73vv73vv71EA--_vS_vv73vv70T77-9Ke-_ve-_vWfvv70ebO-_ve-_ve-_vQN377-9ce-_vRfvv70'
     api = prismic.get('https://lesbonneschoses.prismic.io/api', preview_token)
     st_patrick_ref = api.get_ref('St-Patrick specials')
     # Now we'll use this reference for all our calls
     response = api.form("everything")\
         .ref(st_patrick_ref)\
         .query(predicates.at("document.type", "product"))\
         .submit()
     # The documents object contains a Response object with all documents of type "product"
     # including the new "Saint-Patrick's Cupcake"
     # endgist
     self.assertEqual(response.results_size, 17)
コード例 #35
0
ファイル: test_prismic.py プロジェクト: ribot/python-kit
    def test_api_get_errors(self):
        with self.assertRaises(InvalidTokenError):
            prismic.get(self.api_url, "wrong")

        with self.assertRaises(AuthorizationNeededError):
            prismic.get(self.api_url, "")

        with self.assertRaises(InvalidURLError):
            prismic.get("htt://wrong_on_purpose", "")
コード例 #36
0
    def test_api_get_errors(self):
        with self.assertRaises(InvalidTokenError):
            prismic.get(self.api_url, "wrong")

        with self.assertRaises(AuthorizationNeededError):
            prismic.get(self.api_url, "")

        with self.assertRaises(InvalidURLError):
            prismic.get("htt://wrong_on_purpose", "")
コード例 #37
0
 def __init__(self, request):
     self.endpoint = settings.PRISMIC.get("api")
     self.api = prismic.get(self.endpoint, settings.PRISMIC.get("token"))
     self.link_resolver = views.link_resolver
     self.everything_form_name = "everything"
     self.google_id = self.api.experiments.current()
     preview_ref = request.COOKIES.get(prismic.PREVIEW_COOKIE)
     experiment_ref = self.api.experiments.ref_from_cookie(
         request.COOKIES.get(prismic.EXPERIMENTS_COOKIE))
     if preview_ref is not None:
         self.ref = preview_ref
     elif experiment_ref is not None:
         self.ref = experiment_ref
     else:
         self.ref = self.api.get_master()
コード例 #38
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
    def test_get_number(self):
        api = prismic.get('https://lesbonneschoses.prismic.io/api')
        response = api.form('everything').query(predicates.at("document.id", "UlfoxUnM0wkXYXbO"))\
            .ref(api.get_master()).submit()
        doc = response.documents[0]
        # startgist:2d89caba900bb897e72b:prismic-getNumber.py
        # Number predicates
        gt = predicates.gt("my.product.price", 10)
        lt = predicates.lt("my.product.price", 20)
        in_range = predicates.in_range("my.product.price", 10, 20)

        # Accessing number fields
        price = doc.get_number("product.price").value
        # endgist
        self.assertEqual(price, 2.5)
コード例 #39
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
 def test_images(self):
     api = prismic.get('https://lesbonneschoses.prismic.io/api')
     response = api.form('everything').query(predicates.at("document.id", "UlfoxUnM0wkXYXbO")) \
         .ref(api.get_master()).submit()
     doc = response.documents[0]
     # startgist:4871fb63a54185ee562f:prismic-images.py
     # Accessing image fields
     image = doc.get_image('product.image')
     # By default the 'main' view is returned
     url = image.url
     # endgist
     self.assertEqual(
         url,
         'https://prismic-io.s3.amazonaws.com/lesbonneschoses/f606ad513fcc2a73b909817119b84d6fd0d61a6d.png'
     )
コード例 #40
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
 def test_references(self):
     # startgist:81d114ef589118245811:prismic-references.py
     preview_token = 'MC5VbDdXQmtuTTB6Z0hNWHF3.c--_vVbvv73vv73vv73vv71EA--_vS_vv73vv70T77-9Ke-_ve-_vWfvv70ebO-_ve-_ve-_vQN377-9ce-_vRfvv70'
     api = prismic.get('https://lesbonneschoses.prismic.io/api',
                       preview_token)
     st_patrick_ref = api.get_ref('St-Patrick specials')
     # Now we'll use this reference for all our calls
     response = api.form("everything")\
         .ref(st_patrick_ref)\
         .query(predicates.at("document.type", "product"))\
         .submit()
     # The documents object contains a Response object with all documents of type "product"
     # including the new "Saint-Patrick's Cupcake"
     # endgist
     self.assertEqual(response.results_size, 17)
コード例 #41
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
    def test_get_number(self):
        api = prismic.get('https://lesbonneschoses.prismic.io/api')
        response = api.form('everything').query(predicates.at("document.id", "UlfoxUnM0wkXYXbO"))\
            .ref(api.get_master()).submit()
        doc = response.documents[0]
        # startgist:2d89caba900bb897e72b:prismic-getNumber.py
        # Number predicates
        gt = predicates.gt("my.product.price", 10)
        lt = predicates.lt("my.product.price", 20)
        in_range = predicates.in_range("my.product.price", 10, 20)

        # Accessing number fields
        price = doc.get_number("product.price").value
        # endgist
        self.assertEqual(price, 2.5)
コード例 #42
0
ファイル: test_doc.py プロジェクト: spnkr/python-kit
    def test_html_serializer(self):
        api = prismic.get("http://micro.prismic.io/api")
        doc = api.get_by_uid('all', 'all')

        def link_resolver(document_link):
            return "/document/%s/%s" % (document_link.id, document_link.slug)

        def html_serializer(element, content):
            if isinstance(element, prismic.fragments.Block.Image):
                # Don't wrap images in a <p> tag
                return element.get_view().as_html(link_resolver)
            if isinstance(element, prismic.fragments.Span.Hyperlink):
                # Add a class to links
                return """<a class="some-link" href="%s">""" % element.get_url(link_resolver) + content + "</a>"
            return None

        html = doc.get_structured_text("all.stext").as_html(link_resolver, html_serializer)
        self.assertIsNotNone(html)
コード例 #43
0
async def test_html_serializer(api_url):
    async with prismic.get(api_url) as api:
        doc = await api.get_by_uid('all', 'all')

    def link_resolver(document_link):
        return "/document/%s/%s" % (document_link.id, document_link.slug)

    def html_serializer(element, content):
        if isinstance(element, prismic.fragments.Block.Image):
            # Don't wrap images in a <p> tag
            return element.get_view().as_html(link_resolver)
        if isinstance(element, prismic.fragments.Span.Hyperlink):
            # Add a class to links
            return """<a class="some-link" href="%s">""" % element.get_url(
                link_resolver) + content + "</a>"
        return None

    html = doc.get_structured_text("all.stext").as_html(
        link_resolver, html_serializer)
    assert html is not None
コード例 #44
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
    def test_date_timestamp(self):
        api = prismic.get('https://lesbonneschoses.prismic.io/api')
        response = api.form('everything').query(predicates.at("document.id", "UlfoxUnM0wkXYXbl"))\
            .ref(api.get_master()).submit()
        doc = response.documents[0]
        # startgist:d0df1672e30871ab6517:prismic-dateTimestamp.py
        # Date and Timestamp predicates
        date_before = predicates.date_before("my.product.releaseDate",
                                             datetime.datetime(2014, 6, 1))
        date_after = predicates.date_after("my.product.releaseDate",
                                           datetime.datetime(2014, 1, 1))
        date_Between = predicates.date_between("my.product.releaseDate",
                                               datetime.datetime(2014, 1, 1),
                                               datetime.datetime(2014, 6, 1))
        day_of_month = predicates.day_of_month("my.product.releaseDate", 14)
        day_of_month_after = predicates.day_of_month_after(
            "my.product.releaseDate", 14)
        day_of_month_before = predicates.day_of_month_before(
            "my.product.releaseDate", 14)
        day_of_week = predicates.day_of_week("my.product.releaseDate",
                                             "Tuesday")
        day_of_week_after = predicates.day_of_week_after(
            "my.product.releaseDate", "Wednesday")
        day_of_week_before = predicates.day_of_month_before(
            "my.product.releaseDate", "Wednesday")
        month = predicates.month("my.product.releaseDate", "June")
        month_before = predicates.month_before("my.product.releaseDate",
                                               "June")
        month_after = predicates.month_after("my.product.releaseDate", "June")
        year = predicates.year("my.product.releaseDate", 2014)
        hour = predicates.hour("my.product.releaseDate", 12)
        hour_before = predicates.hour_before("my.product.releaseDate", 12)
        hour_after = predicates.hour_after("my.product.releaseDate", 12)

        # Accessing Date and Timestamp fields
        date = doc.get_date("blog-post.date")
        date_year = date and date.as_datetime.year
        update_time = doc.get_timestamp("blog-post.update")
        update_hour = update_time and update_time.as_datetime.hours
        # endgist
        self.assertEqual(date_year, 2013)
コード例 #45
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
    def test_html_serializer(self):
        # startgist:7314e2bf9d81e750280f:prismic-htmlSerializer.py
        api = prismic.get("http://lesbonneschoses.prismic.io/api")
        response = api.form("everything").ref(api.get_master()) \
            .query(predicates.at("document.id", "UlfoxUnM0wkXYXbX")).submit()

        def link_resolver(document_link):
            return "/document/%s/%s" % (document_link.id, document_link.slug)

        def html_serializer(element, content):
            if isinstance(element, prismic.fragments.Block.Image):
                # Don't wrap images in a <p> tag
                return element.get_view().as_html(link_resolver)
            if isinstance(element, prismic.fragments.Span.Hyperlink):
                # Add a class to links
                return """<a class="some-link" href="%s">""" % element.get_url(link_resolver) + content + "</a>"
            return None

        doc = response.documents[0]
        html = doc.get_structured_text("blog-post.body").as_html(link_resolver, html_serializer)
        # endgist
        self.assertIsNotNone(html)
コード例 #46
0
ファイル: test_doc.py プロジェクト: sbrieuc/python-kit-gae
    def test_html_serializer(self):
        # startgist:7314e2bf9d81e750280f:prismic-htmlSerializer.py
        api = prismic.get("http://lesbonneschoses.prismic.io/api")
        response = api.form("everything").ref(api.get_master()) \
            .query(predicates.at("document.id", "UlfoxUnM0wkXYXbX")).submit()

        def link_resolver(document_link):
            return "/document/%s/%s" % (document_link.id, document_link.slug)

        def html_serializer(element, content):
            if isinstance(element, prismic.fragments.Block.Image):
                # Don't wrap images in a <p> tag
                return element.get_view().as_html(link_resolver)
            if isinstance(element, prismic.fragments.Span.Hyperlink):
                # Add a class to links
                return """<a class="some-link" href="%s">""" % element.get_url(
                    link_resolver) + content + "</a>"
            return None

        doc = response.documents[0]
        html = doc.get_structured_text("blog-post.body").as_html(
            link_resolver, html_serializer)
        # endgist
        self.assertIsNotNone(html)
コード例 #47
0
ファイル: test_prismic.py プロジェクト: ribot/python-kit
 def setUp(self):
     super(ApiIntegrationTestCase, self).setUp()
     self.api = prismic.get(self.api_url, self.token)
コード例 #48
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
    def test_timestamp_html(self):
        api = prismic.get('https://micro.prismic.io/api')
        doc = api.get_by_uid('all', 'all')

        timestamp = doc.get_timestamp("all.timestamp")
        self.assertEqual(timestamp.as_html, '<time>2017-01-16T07:25:35+0000</time>')
コード例 #49
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
    def test_timestamp(self):
        api = prismic.get('https://micro.prismic.io/api')
        doc = api.get_by_uid('all', 'all')

        timestamp = doc.get_timestamp("all.timestamp")
        self.assertEqual(timestamp.as_datetime, datetime.datetime(2017, 1, 16, 7, 25, 35))
コード例 #50
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
 def test_api(self):
     api = prismic.get("https://micro.prismic.io/api")
     self.assertIsNotNone(api)
コード例 #51
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
 def test_form(self):
     api = prismic.get("https://micro.prismic.io/api")
     response = api.form("everything").ref(api.get_master())\
         .query(predicates.at("document.type", "all"))\
         .submit()
     self.assertGreaterEqual(response.results_size, 2)
コード例 #52
0
ファイル: test_doc.py プロジェクト: godshall/python-kit
 def test_api(self):
     # startgist:4115e45d6b57cfbed844:prismic-api.py
     api = prismic.get("https://lesbonneschoses.cdn.prismic.io/api")
     # endgist
     self.assertIsNotNone(api)
コード例 #53
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
 def test_references(self):
     preview_token = 'MC5VcXBHWHdFQUFONDZrbWp4.77-9cDx6C3lgJu-_vXZafO-_vXPvv73vv73vv70777-9Ju-_ve-_vSLvv73vv73vv73vv70O77-977-9Me-_vQ'
     api = prismic.get('https://micro.prismic.io/api', preview_token)
     release_ref = api.get_ref('myrelease')
     response = api.query(predicates.at("document.type", "all"), ref=release_ref)
     self.assertGreaterEqual(response.results_size, 1)
コード例 #54
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
 def test_orderings(self):
     api = prismic.get('https://micro.prismic.io/api')
     response = api.query(predicates.at("document.type", "all"), page_size=2, orderings='[my.all.number desc]')
     # The documents are now ordered using the 'number' field, highest first
     docs = response.documents
     self.assertGreaterEqual(docs[0].get_number('all.number').value, docs[1].get_number('all.number').value)
コード例 #55
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
 def test_get_number(self):
     api = prismic.get('https://micro.prismic.io/api')
     doc = api.get_by_uid('all', 'all')
     price = doc.get_number("all.number").value
     self.assertEqual(price, 20.0)
コード例 #56
0
ファイル: test_doc.py プロジェクト: prismicio/python-kit
 def test_get_text(self):
     api = prismic.get('https://micro.prismic.io/api')
     doc = api.get_by_uid('all', 'all')
     author = doc.get_text("all.text")
     self.assertEqual(author, "all")