当前位置: 首页>>代码示例>>Python>>正文


Python cio.get函数代码示例

本文整理汇总了Python中cio.get函数的典型用法代码示例。如果您正苦于以下问题:Python get函数的具体用法?Python get怎么用?Python get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了get函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_set

    def test_set(self):
        response = self.post('api', 'i18n://page/title', {'data': u'# Djedi'})
        self.assertEqual(response.status_code, 400)

        response = self.post('api', 'i18n://[email protected]/title.txt', {'data': u'# Djedi', 'data[extra]': u'foobar'})
        self.assertEqual(response.status_code, 400)

        uri = 'i18n://[email protected]/title.md'
        response = self.post('api', uri, {'data': u'# Djedi', 'meta[message]': u'lundberg'})
        self.assertEqual(response.status_code, 200)
        node = json_node(response, simple=False)
        meta = node.pop('meta')
        self.assertDictEqual(node, {'uri': 'i18n://[email protected]/title.md#draft', 'content': u'<h1>Djedi</h1>'})
        self.assertEqual(meta['author'], u'master')
        self.assertEqual(meta['message'], u'lundberg')

        node = cio.get(uri, lazy=False)
        self.assertIsNone(node.content)
        cio.publish(uri)
        node = cio.get(uri, lazy=False)
        self.assertEqual(node.uri, 'i18n://[email protected]/title.md#1')
        self.assertEqual(node.content, u'<h1>Djedi</h1>')

        response = self.post('api', node.uri, {'data': u'# Djedi', 'meta[message]': u'Lundberg'})
        node = json_node(response, simple=False)
        self.assertEqual(node['meta']['message'], u'Lundberg')

        with self.assertRaises(PersistenceError):
            storage.backend._create(URI(node['uri']), None)
开发者ID:airtonix,项目名称:djedi-cms,代码行数:29,代码来源:test_rest.py

示例2: test_set

    def test_set(self):
        with self.assertRaises(URI.Invalid):
            cio.set('page/title', 'fail')

        with self.assertRaises(URI.Invalid):
            cio.set('page/title.txt', 'fail')

        node = cio.set('i18n://[email protected]/email.md', u'e-post')
        self.assertEqual(node.uri, 'i18n://[email protected]/email.md#1')
        cache.clear()
        node = cio.get('label/email', u'fallback')
        self.assertEqual(node.content, u'<p>e-post</p>')
        self.assertEqual(node.uri, 'i18n://[email protected]/email.md#1')
        self.assertEqual(node.initial, u'fallback')
        self.assertEqual(len(node.meta.keys()), 0)  # No meta returned from non-versioned api get
        self.assertEqual(repr(node._node), '<Node: i18n://[email protected]/email.md#1>')
        self.assertEqual(node.for_json(), {
            'uri': node.uri,
            'content': node.content,
            'meta': node.meta
        })

        node = cio.set('[email protected]/email', u'e-post', publish=False)
        self.assertEqual(node.uri, 'i18n://[email protected]/email.txt#draft')
        self.assertKeys(node.meta, 'modified_at', 'is_published')

        node = cio.publish(node.uri)
        self.assertKeys(node.meta, 'modified_at', 'published_at', 'is_published')
        self.assertTrue(node.meta['is_published'])

        node = cio.get('label/email')
        self.assertEqual(node.uri, 'i18n://[email protected]/email.txt#2')
        self.assertEqual(node.content, u'e-post')
        self.assertEqual(node.uri.ext, 'txt')
        self.assertEqual(len(node.meta.keys()), 0)
开发者ID:ZipFile,项目名称:content-io,代码行数:35,代码来源:test_api.py

示例3: test_environment_state

    def test_environment_state(self):
        with cio.env(i18n='en-us'):
            node = cio.get('page/title')
            self.assertEqual(node.uri, 'i18n://[email protected]/title.txt')

        node = cio.get('page/title')
        self.assertEqual(node.uri, 'i18n://[email protected]/title.txt')
开发者ID:5monkeys,项目名称:content-io,代码行数:7,代码来源:test_api.py

示例4: test_cached_node

    def test_cached_node(self):
        with self.assertRaises(NodeDoesNotExist):
            storage.get(self.uri)

        content = cache.get(self.uri)
        self.assertIsNone(content)

        node, _ = storage.set(self.uri + '#draft', u'e-post')
        storage.publish(node['uri'])

        with self.assertCache(calls=2, misses=1, sets=1):
            node = cio.get('i18n://label/email', lazy=False)

        cached_node = cache.get('i18n://[email protected]/email')
        self.assertIsInstance(cached_node, dict)
        self.assertKeys(cached_node, 'uri', 'content')
        _uri, content = cached_node['uri'], cached_node['content']
        self.assertEqual(_uri, 'i18n://[email protected]/email.txt#1')
        self.assertTrue(content == node.content == u'e-post')

        with self.assertCache(calls=1, misses=0, hits=1):
            node = cio.get('i18n://label/email', lazy=False)
            self.assertEqual(node.uri, 'i18n://[email protected]/email.txt#1')

        cio.delete(self.uri)
        content = cache.get(self.uri)
        self.assertIsNone(content)
开发者ID:5monkeys,项目名称:content-io,代码行数:27,代码来源:test_cache.py

示例5: assert_local_thread

        def assert_local_thread():
            settings.configure(local=True, CACHE={'PIPE': {'CACHE_ON_GET': False}})
            self.assertIn('BACKEND', settings.CACHE, 'Cache settings should be merged')

            # Test twice so that not the first get() caches the reponse in pipeline
            with self.assertCache(calls=1, misses=1, hits=0, sets=0):
                cio.get('local/settings', default=u'default', lazy=False)
            with self.assertCache(calls=1, misses=1, hits=0, sets=0):
                cio.get('local/settings', default=u'default', lazy=False)
开发者ID:5monkeys,项目名称:content-io,代码行数:9,代码来源:test_api.py

示例6: test_get_with_empty_default

    def test_get_with_empty_default(self):
        node = cio.get('page/title', default=u'', lazy=False)
        self.assertEqual(node.content, u'')
        node = cio.get('page/body', default=None, lazy=False)
        self.assertIsNone(node.content)

        # Testing same non existing uri's twice to assert cache handles None/"" default
        node = cio.get('page/title', default=u'', lazy=False)
        self.assertEqual(node.content, u'')
        node = cio.get('page/body', default=None, lazy=False)
        self.assertIsNone(node.content)
开发者ID:5monkeys,项目名称:content-io,代码行数:11,代码来源:test_api.py

示例7: test_non_distinct_uri

    def test_non_distinct_uri(self):
        node1 = cio.get('page/title', u'Title1')
        node2 = cio.get('page/title', u'Title2')
        self.assertEqual(six.text_type(node1), u'Title1')
        self.assertEqual(six.text_type(node2), u'Title1')

        node1 = cio.get('page/title', u'Title1', lazy=False)
        cache.clear()
        node2 = cio.get('page/title', u'Title2', lazy=False)
        self.assertEqual(six.text_type(node1), u'Title1')
        self.assertEqual(six.text_type(node2), u'Title2')  # Second node not buffered, therefore unique default content
开发者ID:5monkeys,项目名称:content-io,代码行数:11,代码来源:test_api.py

示例8: test_node_meta

    def test_node_meta(self):
        node = cio.set('[email protected]/title', u'', author=u'lundberg')
        self.assertEqual(node.meta.get('author'), u'lundberg')

        node = cio.get('page/title')
        self.assertEqual(len(node.meta.keys()), 0)  # Cached node has no meta

        node = cio.load('[email protected]/title#1')
        meta = node['meta']
        self.assertKeys(meta, 'author', 'modified_at', 'published_at', 'is_published')
        self.assertEqual(meta.get('author'), u'lundberg')

        cio.set('[email protected]/title#1', u'', comment=u'This works!')
        node = cio.load('[email protected]/title#1')
        meta = node['meta']
        self.assertKeys(meta, 'author', 'comment', 'modified_at', 'published_at', 'is_published')
        self.assertEqual(meta.get('author'), u'lundberg')
        self.assertEqual(meta.get('comment'), u'This works!')

        cio.set('[email protected]/title#1', u'', comment=None)
        node = cio.load('[email protected]/title#1')
        meta = node['meta']
        self.assertKeys(meta, 'author', 'modified_at', 'published_at', 'is_published')
        self.assertEqual(meta.get('author'), u'lundberg')
        self.assertNotIn('comment', meta)
开发者ID:5monkeys,项目名称:content-io,代码行数:25,代码来源:test_api.py

示例9: _render_node

    def _render_node(self, node_or_uri, default, edit, params, tag, caller):
        if isinstance(node_or_uri, str):
            node = cio.get(node_or_uri, default=default, lazy=False)
        else:
            node = node_or_uri

        return Markup(render_node(node, edit=edit, context=params))
开发者ID:lydell,项目名称:djedi-cms-jinja2,代码行数:7,代码来源:djedi_jinja.py

示例10: test_forced_empty_content

    def test_forced_empty_content(self):
        with self.assertRaises(ValueError):
            cio.set('i18n://[email protected]', None)

        node = cio.set('i18n://[email protected]', u'')
        node = cio.get(node.uri, default=u'fallback')
        self.assertEqual(six.text_type(node), u'')
开发者ID:5monkeys,项目名称:content-io,代码行数:7,代码来源:test_api.py

示例11: test_plugin

    def test_plugin(self):
        self.assertSetEqual(set(plugins.plugins.keys()), set(['txt', 'md']))

        settings.configure(PLUGINS=[
            'cio.plugins.txt.TextPlugin',
            'cio.plugins.md.MarkdownPlugin',
            'tests.UppercasePlugin'
        ])

        self.assertSetEqual(set(plugins.plugins.keys()), set(['txt', 'md', 'up']))

        node = cio.set('[email protected]/title.up', {'name': u'lundberg'}, publish=False)
        self.assertListEqual(node._content, [{'name': u'lundberg'}, u'{"name": "lundberg"}', u'LUNDBERG'])

        cio.publish(node.uri)

        node = cio.get('page/title')
        raw_content = storage.get(node.uri)

        self.assertIsNotNone(raw_content)
        self.assertEqual(raw_content['uri'], 'i18n://[email protected]/title.up#1')
        self.assertEqual(raw_content['content'], u'{"name": "lundberg"}')
        self.assertEqual(node.content, u'LUNDBERG')
        self.assertEqual(node.uri.ext, 'up')

        self.assertSetEqual(set(p for p in plugins), set(('txt', 'md', 'up')))
开发者ID:portalBlock,项目名称:content-io,代码行数:26,代码来源:test_plugins.py

示例12: tag

    def tag(cls, parser, token):
        # Parse tag args and kwargs
        bits = token.split_contents()[1:]
        params = ('uri', 'edit')
        args, kwargs = parse_bits(parser, bits, params, None, True, (True,), None, 'blocknode')

        # Assert uri is the only tag arg
        if len(args) > 1:
            raise TemplateSyntaxError('Malformed arguments to blocknode tag')

        # Resolve uri variable
        uri = args[0].resolve({})

        # Parse tag body (default content)
        tokens = parser.parse(('endblocknode',))
        parser.delete_first_token()  # Remove endblocknode tag

        # Render default content tokens and dedent common leading whitespace
        default = u''.join((token.render({}) for token in tokens))
        default = default.strip('\n\r')
        default = textwrap.dedent(default)

        # Get node for uri, lacks context variable lookup due to lazy loading.
        node = cio.get(uri, default)

        return cls(tokens, node, kwargs)
开发者ID:digideskio,项目名称:djedi-cms,代码行数:26,代码来源:djedi_tags.py

示例13: node

def node(key, default=None, edit=True):
    """
    Simple node tag:
    {% node 'page/title' default='Lorem ipsum' edit=True %}
    """
    node = cio.get(key, default=default or u'')
    return lambda _: render_node(node, edit=edit)
开发者ID:digideskio,项目名称:djedi-cms,代码行数:7,代码来源:djedi_tags.py

示例14: test_uri_redirect

    def test_uri_redirect(self):
        cio.set('i18n://[email protected]/title.txt', u'Title')

        node = cio.get('i18n://[email protected]/title', u'Default')
        self.assertEqual(node.uri, 'i18n://[email protected]/title.txt#1')
        self.assertEqual(node.content, u'Title')

        node = cio.get('i18n://[email protected]/title.up', u'Default Upper', lazy=False)
        self.assertEqual(node.uri, 'i18n://[email protected]/title.up')
        self.assertEqual(node.content, u'DEFAULT UPPER')  # Cache still contains 'Title', but plugin diff and skipped
        cached_node = cache.get(node.uri)
        self.assertDictEqual(cached_node, {'uri': node.uri, 'content': u'DEFAULT UPPER'})

        cache.clear()
        node = cio.get('i18n://[email protected]/title.up', u'Default-Upper', lazy=False)
        self.assertEqual(node.uri, 'i18n://[email protected]/title.up')
        self.assertEqual(node.content, u'DEFAULT-UPPER')  # Cache cleared, storage plugin mismatch, default fallback
开发者ID:5monkeys,项目名称:content-io,代码行数:17,代码来源:test_api.py

示例15: test_get_with_local_cache_pipe_settings

    def test_get_with_local_cache_pipe_settings(self):
        def assert_local_thread():
            settings.configure(local=True, CACHE={'PIPE': {'CACHE_ON_GET': False}})
            self.assertIn('BACKEND', settings.CACHE, 'Cache settings should be merged')

            # Test twice so that not the first get() caches the reponse in pipeline
            with self.assertCache(calls=1, misses=1, hits=0, sets=0):
                cio.get('local/settings', default=u'default', lazy=False)
            with self.assertCache(calls=1, misses=1, hits=0, sets=0):
                cio.get('local/settings', default=u'default', lazy=False)

        thread = threading.Thread(target=assert_local_thread)
        thread.start()
        thread.join()

        # Back on main thread, settings should not be affected
        # Test twice to make sure first get chaches the reponse in pipeline
        with self.assertCache(calls=2, misses=1, hits=0, sets=1):
            cio.get('local/settings', default=u'default', lazy=False)
        with self.assertCache(calls=1, misses=0, hits=1, sets=0):
            cio.get('local/settings', default=u'default', lazy=False)
开发者ID:5monkeys,项目名称:content-io,代码行数:21,代码来源:test_api.py


注:本文中的cio.get函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。