本文整理汇总了Python中zope.publisher.browser.TestRequest.setPublication方法的典型用法代码示例。如果您正苦于以下问题:Python TestRequest.setPublication方法的具体用法?Python TestRequest.setPublication怎么用?Python TestRequest.setPublication使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zope.publisher.browser.TestRequest
的用法示例。
在下文中一共展示了TestRequest.setPublication方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _request
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPublication [as 别名]
def _request(self,
path='/', stdin='', basic=None,
environment = None, form=None,
request=None, publication=BrowserPublication):
"""Create a request
"""
env = {}
if isinstance(stdin, text_type):
stdin = stdin.encode("utf-8")
if isinstance(stdin, bytes):
stdin = BytesIO(stdin)
p = path.split('?')
if len(p) == 1:
env['PATH_INFO'] = p[0]
elif len(p) == 2:
env['PATH_INFO'], env['QUERY_STRING'] = p
else:
raise ValueError("Too many ?s in path", path)
env['PATH_INFO'] = urllib.unquote(env['PATH_INFO'])
if environment is not None:
env.update(environment)
if basic:
basic_bytes = basic.encode('ascii') if not isinstance(basic, bytes) else basic
basic64_bytes = base64.b64encode(basic_bytes)
basic64 = basic64_bytes.decode('ascii').strip()
env['HTTP_AUTHORIZATION'] = "Basic %s" % basic64
pub = publication(self.db)
if request is not None:
request = request(stdin, env)
else:
request = TestRequest(stdin, env)
setDefaultSkin(request)
request.setPublication(pub)
if form:
request.form.update(form)
return request
示例2: _request
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPublication [as 别名]
def _request(self,
path='/', stdin='', basic=None,
environment = None, form=None,
request=None, publication=BrowserPublication):
"""Create a request
"""
env = {}
if type(stdin) is str:
stdin = StringIO(stdin)
p=path.split('?')
if len(p)==1:
env['PATH_INFO'] = p[0]
elif len(p)==2:
env['PATH_INFO'], env['QUERY_STRING'] = p
else:
raise ValueError("Too many ?s in path", path)
env['PATH_INFO'] = urllib.unquote(env['PATH_INFO'])
if environment is not None:
env.update(environment)
if basic:
env['HTTP_AUTHORIZATION']="Basic %s" % base64.encodestring(basic)
pub = publication(self.db)
if request is not None:
request = request(stdin, env)
else:
request = TestRequest(stdin, env)
setDefaultSkin(request)
request.setPublication(pub)
if form:
# This requires that request class has an attribute 'form'
# (BrowserRequest has, TestRequest hasn't)
request.form.update(form)
return request
示例3: _createRequest
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import setPublication [as 别名]
def _createRequest(self, path, publication, **kw):
request = TestRequest(PATH_INFO=path, **kw)
request.setPublication(publication)
return request