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


Python Space.name_from_recipe方法代码示例

本文整理汇总了Python中tiddlywebplugins.tiddlyspace.space.Space.name_from_recipe方法的典型用法代码示例。如果您正苦于以下问题:Python Space.name_from_recipe方法的具体用法?Python Space.name_from_recipe怎么用?Python Space.name_from_recipe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tiddlywebplugins.tiddlyspace.space.Space的用法示例。


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

示例1: list_spaces

# 需要导入模块: from tiddlywebplugins.tiddlyspace.space import Space [as 别名]
# 或者: from tiddlywebplugins.tiddlyspace.space.Space import name_from_recipe [as 别名]
def list_spaces(environ, start_response):
    """
    List all the spaces on the service, as a JSON list.

    If a "mine" parameter is present, just get the current
    user's spaces.
    """
    store = environ['tiddlyweb.store']
    mine = environ['tiddlyweb.query'].get('mine', [None])[0]
    current_user = environ['tiddlyweb.usersign']['name']
    if mine:
        spaces = []
        try:
            recipe_names = store.storage.cached_storage.user_spaces(
                    current_user)
        except AttributeError:
            recipe_names = store.storage.user_spaces(current_user)
        for recipe in recipe_names:
            spaces.append(Space.name_from_recipe(recipe))
    else:
        spaces = [Space.name_from_recipe(recipe.name) for
                recipe in store.list_recipes() if
                Space.recipe_is_public(recipe.name)]
    start_response('200 OK', [
        ('Cache-Control', 'no-cache'),
        ('Content-Type', 'application/json; charset=UTF-8')])
    return simplejson.dumps([{'name': space, 'uri': space_uri(environ, space)}
        for space in sorted(spaces)])
开发者ID:FND,项目名称:tiddlyspace,代码行数:30,代码来源:spaces.py

示例2: web_tiddler_url

# 需要导入模块: from tiddlywebplugins.tiddlyspace.space import Space [as 别名]
# 或者: from tiddlywebplugins.tiddlyspace.space.Space import name_from_recipe [as 别名]
def web_tiddler_url(environ, tiddler, container='bags', full=True):
    """
    Override default tiddler_url to be space+host aware.

    If the bag or recipe of the tiddler is of a space, switch to
    that space's host for the duration of uri creation.

    Do this all the time, so that we get the right URIs even
    when working around ControlView.

    If the bag does not fit in a space, then make is URI be at
    the server_host domain. If/when auxbags are made to work this
    will need to be reviewed.
    """
    if '_canonical_uri' in tiddler.fields:
        return tiddler.fields['_canonical_uri']

    saved_host = environ.get('HTTP_HOST', '')
    try:
        if container == 'recipes':
            space_name = Space.name_from_recipe(tiddler.recipe)
        else:
            space_name = Space.name_from_bag(tiddler.bag)
        space_name = space_name + '.'
    except ValueError, exc:
        space_name = ''
开发者ID:bengillies,项目名称:tiddlyspace,代码行数:28,代码来源:fixups.py

示例3: web_tiddler_url

# 需要导入模块: from tiddlywebplugins.tiddlyspace.space import Space [as 别名]
# 或者: from tiddlywebplugins.tiddlyspace.space.Space import name_from_recipe [as 别名]
def web_tiddler_url(environ, tiddler, container='bags', full=True,
        friendly=False):
    """
    Override default tiddler_url to be space+host aware.

    If the bag or recipe of the tiddler is of a space, switch to
    that space's host for the duration of uri creation.

    Do this all the time, so that we get the right URIs even
    when working around ControlView.

    If the bag does not fit in a space, then make is URI be at
    the server_host domain. If/when auxbags are made to work this
    will need to be reviewed.
    """
    saved_host = environ.get('HTTP_HOST', '')
    try:
        if container == 'recipes':
            space_name = Space.name_from_recipe(tiddler.recipe)
        else:
            space_name = Space.name_from_bag(tiddler.bag)
        space_name = space_name + '.'
    except ValueError:
        space_name = ''

    host = environ['tiddlyweb.config']['server_host']['host']
    port = environ['tiddlyweb.config']['server_host']['port']
    if port is '443' or port is '80':
        port = ''
    else:
        port = ':%s' % port
    environ['HTTP_HOST'] = '%s%s%s' % (space_name.encode('utf-8'),
        host, port)

    if friendly and space_name:
        url = '%s/%s' % (tiddlyweb.web.util.server_base_url(environ),
                tiddlyweb.web.util.encode_name(tiddler.title))
    else:
        url = original_tiddler_url(environ, tiddler, container, full)
    if saved_host:
        environ['HTTP_HOST'] = saved_host
    elif 'HTTP_HOST' in environ:
        del environ['HTTP_HOST']
    return url
开发者ID:Alanchi,项目名称:tiddlyspace,代码行数:46,代码来源:fixups.py

示例4: web_tiddler_url

# 需要导入模块: from tiddlywebplugins.tiddlyspace.space import Space [as 别名]
# 或者: from tiddlywebplugins.tiddlyspace.space.Space import name_from_recipe [as 别名]
def web_tiddler_url(environ, tiddler, container='bags', full=True):
    """
    Override default tiddler_url to be space+host aware.

    If the bag or recipe of the tiddler is of a space, switch to
    that space's host for the duration of uri creation.

    Do this all the time, so that we get the right URIs even
    when working around ControlView.
    """
    if '_canonical_uri' in tiddler.fields:
        return tiddler.fields['_canonical_uri']

    saved_host = environ.get('HTTP_HOST', '')
    try:
        if container == 'recipes':
            space_name = Space.name_from_recipe(tiddler.recipe)
        else:
            space_name = Space.name_from_bag(tiddler.bag)

        host = environ['tiddlyweb.config']['server_host']['host']
        port = environ['tiddlyweb.config']['server_host']['port']
        if port is '443' or port is '80':
            port = ''
        else:
            port = ':%s' % port
        environ['HTTP_HOST'] = '%s.%s%s' % (space_name.encode('utf-8'),
            host, port)
    except ValueError:
        pass
    url = original_tiddler_url(environ, tiddler, container, full)
    if saved_host:
        environ['HTTP_HOST'] = saved_host
    elif 'HTTP_HOST' in environ:
        del environ['HTTP_HOST']
    return url
开发者ID:FND,项目名称:tiddlyspace,代码行数:38,代码来源:fixups.py

示例5: test_name_from_recipe

# 需要导入模块: from tiddlywebplugins.tiddlyspace.space import Space [as 别名]
# 或者: from tiddlywebplugins.tiddlyspace.space.Space import name_from_recipe [as 别名]
def test_name_from_recipe():
    assert Space.name_from_recipe('cat_private') == 'cat'
    py.test.raises(ValueError, 'Space.name_from_recipe("cat_ball")')
开发者ID:Alanchi,项目名称:tiddlyspace,代码行数:5,代码来源:test_space_object.py

示例6: list_tiddlers

# 需要导入模块: from tiddlywebplugins.tiddlyspace.space import Space [as 别名]
# 或者: from tiddlywebplugins.tiddlyspace.space.Space import name_from_recipe [as 别名]
    def list_tiddlers(self, tiddlers):
        """
        List the tiddlers from a container. Include a link
        to the container if it can be viewed by the current
        user. List the available serializations for the tiddlers.
        """
        tiddlers_url = (self.environ.get('SCRIPT_NAME', '')
                + self.environ.get('PATH_INFO', ''))
        if tiddlers_url.startswith('/tiddlers'):
            tiddlers.link = '/tiddlers'

        template_name = 'friendlytiddlers.html'
        if '/bags/' in tiddlers.link or '/recipes/' in tiddlers.link:
            template_name = 'tiddlers.html'

        container_name = ''
        container_type = 'bags'
        container_url = ''
        container_policy = False
        store = self.environ['tiddlyweb.store']
        user = self.environ['tiddlyweb.usersign']
        space_name = ''
        if not (tiddlers.is_search or tiddlers.is_revisions):
            if tiddlers.recipe:
                name = tiddlers.recipe
                try:
                    space_name = Space.name_from_recipe(name)
                    tiddlers.title = 'Tiddlers in %s' % space_name
                except ValueError:
                    pass
                container_url = '/recipes/%s' % name
                container_name = 'Recipe %s' % name
                container_type = 'recipes'
                try:
                    store.get(Recipe(name)).policy.allows(user, 'read')
                    container_policy = True
                except PermissionsError:
                    pass
            elif tiddlers.bag:
                name = tiddlers.bag
                try:
                    space_name = Space.name_from_recipe(name)
                    tiddlers.title = 'Tiddlers in %s' % space_name
                except ValueError:
                    pass
                container_url = '/bags/%s' % name
                container_name = 'Bag %s' % name
                try:
                    store.get(Bag(name)).policy.allows(user, 'manage')
                    container_policy = True
                except PermissionsError:
                    pass

        if tiddlers.is_revisions:
            container_policy = True
            container_url = tiddlers.link.rsplit('/revisions')[0]
            container_name = 'Head'

        try:
            query_string = self.environ.get('QUERY_STRING', '').decode('utf-8')
        except UnicodeDecodeError:
            query_string = u'invalid+query+string+encoding'

        links = self.environ.get('tiddlyweb.config',
                {}).get('extension_types', {}).keys()

        if query_string:
            query_string = '?%s' % query_string

        if tiddlers.is_search:
            template_name = 'search.html'
            if 'tiddlyweb.query.original' in self.environ:
                tiddlers.title = ('Search for %s'
                        % self.environ['tiddlyweb.query.original'])

        return send_template(self.environ, template_name, {
            'meta_keywords': 'tiddlers, tiddlyspace',
            'meta_description': 'A list of tiddlers on TiddlySpace',
            'title': tiddlers.title,
            'tiddler_url': tiddler_url,
            'environ': self.environ,
            'revisions': tiddlers.is_revisions,
            'tiddlers_url': tiddlers.link,
            'space_uri': space_uri,
            'space_bag': space_bag,
            'query_string': query_string,
            'container_type': container_type,
            'container_name': container_name,
            'container_url': container_url,
            'container_policy': container_policy,
            'links': links,
            'space_name': space_name,
            'tiddlers': tiddlers})
开发者ID:Alanchi,项目名称:tiddlyspace,代码行数:95,代码来源:htmlserialization.py


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