本文整理汇总了Python中zope.globalrequest.setRequest函数的典型用法代码示例。如果您正苦于以下问题:Python setRequest函数的具体用法?Python setRequest怎么用?Python setRequest使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了setRequest函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testGetURL_catalog_as_utility
def testGetURL_catalog_as_utility(self):
request = DummyRequest()
b = self._makeBrain(0)
setRequest(request)
self.assertEqual(b.getURL(), 'http://superbad.com/conflicter')
clearRequest()
示例2: __call__
def __call__(self):
celery = getCelery()
if celery.conf.task_always_eager:
self.eager = True
# dive out of setup, this is not run in a celery task runner
self.app = getApp()
return self._run()
self.app = makerequest(getApp())
self.app.REQUEST['PARENTS'] = [self.app]
setRequest(self.app.REQUEST)
transaction.begin()
try:
try:
result = self._run()
# commit transaction
transaction.commit()
return result
except ConflictError as e:
# On ZODB conflicts, retry using celery's mechanism
transaction.abort()
raise Retry(exc=e)
except Exception:
logger.warn('Error running task: %s' % traceback.format_exc())
transaction.abort()
raise
finally:
noSecurityManager()
setSite(None)
self.app._p_jar.close()
clearRequest()
示例3: testSetUp
def testSetUp(self):
import Zope2
import transaction
# Open a new app and save it as the resource ``app``.
environ = {
'SERVER_NAME': self['host'],
'SERVER_PORT': str(self['port']),
}
app = addRequestContainer(Zope2.app(), environ=environ)
request = app.REQUEST
request['PARENTS'] = [app]
# Make sure we have a zope.globalrequest request
try:
from zope.globalrequest import setRequest
setRequest(request)
except ImportError:
pass
# Start a transaction
transaction.begin()
# Save resources for tests to access
self['app'] = app
self['request'] = request
示例4: test_basic_tile_purge_cache
def test_basic_tile_purge_cache(self):
provideHandler(queuePurge)
request = self.request
alsoProvides(request, IAttributeAnnotatable)
setRequest(request)
registry = queryUtility(IRegistry)
registry.registerInterface(ICachePurgingSettings)
provideUtility(registry, IRegistry)
settings = registry.forInterface(ICachePurgingSettings)
settings.enabled = True
settings.cachingProxies = ('http://localhost:1234',)
obj = self.portal['my-image']
data = self.tile.data
scales = api.content.get_view(u'images', obj, self.request)
self.tile.data['image'] = NamedBlobImage(str(scales.scale('image').data))
data_mgr = ITileDataManager(self.tile)
data_mgr.set(data)
self.assertEqual(
set([
'/c1/@@collective.cover.basic/test',
'/c1/@@collective.cover.basic/test/@@images/image',
'/c1/@@collective.cover.basic/test/@@images/icon',
'/c1/@@collective.cover.basic/test/@@images/mini',
'/c1/@@collective.cover.basic/test/@@images/large',
'/c1/@@collective.cover.basic/test/@@images/listing',
'/c1/@@collective.cover.basic/test/@@images/thumb',
'/c1/@@collective.cover.basic/test/@@images/preview',
'/c1/@@collective.cover.basic/test/@@images/tile']),
IAnnotations(request)['plone.cachepurging.urls'])
示例5: get
def get(self, path):
if path == '/logout':
if users.get_current_user():
self.redirect(users.create_logout_url('/'))
else:
self.redirect(self.request.relative_url('/'))
return
setRequest(self.request)
app = createObject('Application', self.request, self.response)
setSite(app)
traverser = ITraverser(app)
stack = path.split('/')
if stack[-1] == '':
stack = stack[:-1]
if stack[0] == '':
stack = stack[1:]
obj = traverser.traverse(self.request, self.response, stack)
requires = getattr(obj, 'permission_required', None)
if requires:
user = users.get_current_user()
if not checkPermission(obj, user, requires):
self.redirect(users.create_login_url(self.request.uri))
return
if getattr(obj, 'render', None):
self.response.out.write(obj.render())
else:
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write(obj)
getUtility(ISession).commit()
clearRequest()
示例6: setup_plone
def setup_plone(plone, options=None):
"""Takes care of setting up a request, manager security context and
setting up the site manager for the given Plone site.
Returns the Plone site root object.
This is based on the setup code found in p.recipe.zope2instance.ctl:
https://github.com/plone/plone.recipe.zope2instance/blob/
02bfb735/src/plone/recipe/zope2instance/ctl.py#L672-L680
"""
app = plone.restrictedTraverse('/')
# Set up request for debug / bin/instance run mode.
app = makerequest(app)
app.REQUEST['PARENTS'] = [app]
setRequest(app.REQUEST)
# Get a reference to the Plone site *inside* the request-wrapped app
plone = app.restrictedTraverse(plone.id)
# Set up Manager security context
user = AccessControl.SecurityManagement.SpecialUsers.system
user = user.__of__(app.acl_users)
newSecurityManager(app, user)
# Set up site to make component registry work
setSite(plone)
return plone
示例7: upgrade
def upgrade(
self, upgrade_portal=True,
upgrade_all_profiles=True, upgrade_profiles=(), **kw):
hooks.setSite(self.context)
setRequest(self.context.REQUEST)
# initialize portal_skins
self.context.setupCurrentSkin(self.context.REQUEST)
# setup language for plone 4: see https://docs.plone.org/manage/upgrading/version_specific_migration/p4x_to_p5x_upgrade.html#portal-languages-is-now-a-utility # noqa
if getattr(self.context, 'portal_languages', None):
self.context.portal_languages(self.context, self.context.REQUEST)
self.setup = getToolByName(self.context, 'portal_setup')
self.log('Upgrading {0}'.format(self.context))
# setup BrowserLayer, see: https://dev.plone.org/ticket/11673
notify(BeforeTraverseEvent(self.context, self.context.REQUEST))
baseline = self.setup.getBaselineContextID()
prof_type, profile_id = baseline.split('-', 1)
self.base_profile = profile_id
if upgrade_portal:
# Do the baseline profile upgrade first
self.upgradeProfile(profile_id, **kw)
# Upgrade extension profiles
if upgrade_all_profiles:
if upgrade_profiles:
raise ValueError(
'upgrade_profiles conflicts with upgrade_all_profiles')
upgrade_profiles = self.setup.listProfilesWithPendingUpgrades()
if upgrade_profiles:
self.upgradeExtensions(upgrade_profiles, **kw)
self.log('Upgraded {0}'.format(self.context))
示例8: get_plone_site
def get_plone_site():
import Zope2
app = Zope2.app()
from Testing.ZopeTestCase import utils
utils._Z2HOST = HOST
path = PLONE.split('/')
app = utils.makerequest(app)
app.REQUEST['PARENTS'] = [app]
app.REQUEST.other['VirtualRootPhysicalPath'] = path
from zope.globalrequest import setRequest
setRequest(app.REQUEST)
from AccessControl.SpecialUsers import system as user
from AccessControl.SecurityManagement import newSecurityManager
newSecurityManager(None, user)
_site = app[path[-1]]
site = _site.__of__(app)
from zope.site.hooks import setSite
setSite(site)
return site
示例9: test_enabled
def test_enabled(self):
context = FauxContext()
request = FauxRequest()
alsoProvides(request, IAttributeAnnotatable)
setRequest(request)
configlet= CachePurgingConfiglet()
provideUtility(configlet, ICachePurgingConfiglet)
settings = getUtility(ICachePurgingConfiglet)
settings.enabled = True
settings.cachingProxies = ('http://localhost:1234',)
class FauxPurgePaths(object):
implements(IPurgePaths)
adapts(FauxContext)
def __init__(self, context):
self.context = context
def getRelativePaths(self):
return ['/foo', '/bar']
def getAbsolutePaths(self):
return []
provideAdapter(FauxPurgePaths, name="test1")
notify(Purge(context))
self.assertEquals({'zojax.cachepurging.urls': set(['/foo', '/bar'])},
dict(IAnnotations(request)))
示例10: test_request_not_annotatable
def test_request_not_annotatable(self):
context = FauxContext()
request = FauxRequest()
setRequest(request)
configlet= CachePurgingConfiglet()
provideUtility(configlet, ICachePurgingConfiglet)
settings = getUtility(ICachePurgingConfiglet)
settings.enabled = True
settings.cachingProxies = ('http://localhost:1234',)
class FauxPurgePaths(object):
implements(IPurgePaths)
adapts(FauxContext)
def __init__(self, context):
self.context = context
def getRelativePaths(self):
return ['/foo', '/bar']
def getAbsolutePaths(self):
return []
provideAdapter(FauxPurgePaths, name="test1")
try:
notify(Purge(context))
except:
self.fail()
示例11: testSetUp
def testSetUp(self):
"""Do not mess up here with another stacked
demo storage!!!"""
import Zope2
environ = {
'SERVER_NAME': 'localhost',
'SERVER_PORT': str(self['port']),
}
app = z2.addRequestContainer(
Zope2.app(), environ=environ)
request = app.REQUEST
request['PARENTS'] = [app]
# Make sure we have a zope.globalrequest request
try:
from zope.globalrequest import setRequest
setRequest(request)
except ImportError:
pass
self['app'] = app
self['request'] = request
self['portal'] = portal = self['app'][PLONE_SITE_ID]
transaction.commit()
self.setUpEnvironment(portal)
transaction.commit()
LayerMixin.testSetUp(self)
transaction.commit()
示例12: setUp
def setUp(self):
self.settings = getUtility(IRegistry).forInterface(IThemeSettings)
self.settings.enabled = True
self.settings.rules = u'python://plone.app.theming/tests/rules.xml'
self.settings.parameterExpressions = {
'stringParam': 'string:string param value',
'boolParam': 'python:False',
'contextParam': 'context/absolute_url | string:no context',
'requestParam': 'request/useother | string:off',
}
self.portal = self.layer['portal']
setRequest(self.portal.REQUEST)
applyProfile(self.portal, 'plone.app.caching:without-caching-proxy')
self.cacheSettings = getUtility(IRegistry).forInterface(ICacheSettings)
self.cacheSettings.enabled = True
self.cacheSettings.operationMapping = {
'plone.content.folderView': 'plone.app.caching.weakCaching'}
registry = getUtility(IRegistry)
registry['plone.app.caching.weakCaching.ramCache'] = True
import transaction
transaction.commit()
示例13: test_isolate_globalrequest
def test_isolate_globalrequest(self):
setRequest(self.layer['request'])
with isolate_globalrequest():
self.assertIsNone(None, getRequest())
setRequest('bar')
self.assertEquals(self.layer['request'], getRequest())
示例14: setUp
def setUp(self):
self.app = self.layer['app']
self.portal = self.layer['portal']
setRequest(self.portal.REQUEST)
self.registry = getUtility(IRegistry)
self.cacheSettings = self.registry.forInterface(ICacheSettings)
self.cacheSettings.enabled = True
示例15: testGetObjectHappy_catalog_as_utility
def testGetObjectHappy_catalog_as_utility(self):
request = DummyRequest()
b = self._makeBrain(1)
setRequest(request)
self.assertEqual(b.getPath(), '/happy')
self.assertEqual(b.getObject().REQUEST, request)
self.assertTrue(aq_base(b.getObject()) is
aq_base(self.cat.getobject(1)))
clearRequest()