本文整理汇总了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)])
示例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 = ''
示例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
示例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
示例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")')
示例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})