• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python browser.IBrowserRequest类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: __bobo_traverse__

    def __bobo_traverse__(self, REQUEST, name):
        """Hook for Zope 2 traversal

        This method is called by Zope 2's ZPublisher upon traversal.
        It allows us to trick it into faking the Zope 3 traversal system
        by using an ITraverser adapter.
        """
        if not IBrowserRequest.providedBy(REQUEST):
            # Try to get the REQUEST by acquisition
            REQUEST = getattr(self, 'REQUEST', None)
            if not IBrowserRequest.providedBy(REQUEST):
                REQUEST = FakeRequest()
        try:
            kw = dict(path=[name], request=REQUEST)
            return ITraverser(self).traverse(**kw).__of__(self)
        except (ComponentLookupError, NotFoundError,
                AttributeError, KeyError, NotFound):
            pass
        try:
            return getattr(self, name)
        except AttributeError:
            pass
        try:
            return self[name]
        except (AttributeError, KeyError):
            pass
        return self.__fallback_traverse__(REQUEST, name)
开发者ID:goschtl,项目名称:zope,代码行数:27,代码来源:traversable.py


示例2: test_stub_request

    def test_stub_request(self):
        html_request = self.stub_request()
        js_request = self.stub_request(
            content_type='text/javascript', status=401, interfaces=IFoo)
        iface_request = self.stub_request(interfaces=[IFoo, IBar])

        self.replay()

        self.assertTrue(IDefaultBrowserLayer.providedBy(html_request))
        self.assertTrue(IBrowserRequest.providedBy(html_request))
        self.assertEqual(html_request.debug, False)
        self.assertEqual(html_request.response.getHeader(
                'Content-Type'), 'text/html')
        self.assertEqual(html_request.response.getStatus(), 200)

        self.assertTrue(IDefaultBrowserLayer.providedBy(js_request))
        self.assertTrue(IBrowserRequest.providedBy(js_request))
        self.assertTrue(IFoo.providedBy(js_request))
        self.assertEqual(js_request.debug, False)
        self.assertEqual(js_request.response.getHeader(
                'Content-Type'), 'text/javascript')
        self.assertEqual(js_request.response.getStatus(), 401)

        self.assertTrue(IFoo.providedBy(iface_request))
        self.assertTrue(IBar.providedBy(iface_request))
        self.assertTrue(IDefaultBrowserLayer.providedBy(iface_request))
        self.assertTrue(IBrowserRequest.providedBy(iface_request))
        self.assertEqual(html_request.debug, False)
        self.assertEqual(html_request.response.getHeader(
                'Content-Type'), 'text/html')
        self.assertEqual(html_request.response.getStatus(), 200)
开发者ID:4teamwork,项目名称:ftw.testing,代码行数:31,代码来源:test_testcase.py


示例3: translate

    def translate(self, domain, msgid, mapping=None, context=None,
                  target_language=None, default=None):
        """
        Translate a message using Unicode.
        """
        if not msgid:
            # refuse to translate an empty msgid
            return default

        # ZPT passes the object as context.  That's wrong according to spec.
        if not IBrowserRequest.providedBy(context):
            context = aq_acquire(context, 'REQUEST')
        text = msgid

        catalogs = self.getCatalogsForTranslation(context, domain, target_language)
        for catalog in catalogs:
            try:
                text = getMessage(catalog, msgid, default)
            except KeyError:
                # it's not in this catalog, try the next one
                continue
            # found!
            break
        else:
            # Did the fallback fail? Sigh, use the default if it is not None.
            if default is not None:
                text = default

        # Now we need to do the interpolation
        return self.interpolate(text, mapping)
开发者ID:dtgit,项目名称:dtedu,代码行数:30,代码来源:PlacelessTranslationService.py


示例4: traverse

 def traverse(self, name, furtherPath):
     # For some reason, when the adapter is constructed, the adapted
     # object is stored as self._subject rather than self.context.
     # I like self.context.
     #import pdb; pdb.set_trace()
     self.context = self._subject
     if name == 'keywords':
         tag_class = Keyword
     else:
         # We ignore it...
         return super(ImageRepositoryTraversable, self).traverse(name, furtherPath)
     # Now the guts of it...
     subpath = self.popFurtherPath(furtherPath)
     # furtherPath is now an empty list
     # Find the REQUEST
     REQUEST = getattr(self.context, 'REQUEST', None)
     if not IBrowserRequest.providedBy(REQUEST):
         REQUEST = FakeRequest()
     if len(subpath) == 0:
         return zapi.getView(self.context, name, REQUEST)
     #print name, furtherPath, subpath
     if len(subpath) == 1:
         furtherPath.append('index.html')
         tag = tag_class(subpath[0]).__of__(self.context)
     elif subpath[-1].startswith('@@'):
         furtherPath.append(subpath[-1])
         tag = tag_class(subpath[:-1]).__of__(self.context)
     else:
         furtherPath.append('index.html')
         tag = tag_class(subpath).__of__(self.context)
     return tag
开发者ID:a25kk,项目名称:stv2,代码行数:31,代码来源:traversal.py


示例5: endRequest

    def endRequest(self, request, object):
        superclass = zope.app.publication.browser.BrowserPublication
        superclass.endRequest(self, request, object)

        da.clear_request_started()

        getUtility(IOpenLaunchBag).clear()

        # Maintain operational statistics.
        if getattr(request, '_wants_retry', False):
            OpStats.stats['retries'] += 1
        else:
            OpStats.stats['requests'] += 1

            # Increment counters for HTTP status codes we track individually
            # NB. We use IBrowserRequest, as other request types such as
            # IXMLRPCRequest use IHTTPRequest as a superclass.
            # This should be fine as Launchpad only deals with browser
            # and XML-RPC requests.
            if IBrowserRequest.providedBy(request):
                OpStats.stats['http requests'] += 1
                status = request.response.getStatus()
                if status == 404:  # Not Found
                    OpStats.stats['404s'] += 1
                elif status == 500:  # Unhandled exceptions
                    OpStats.stats['500s'] += 1
                elif status == 503:  # Timeouts
                    OpStats.stats['503s'] += 1

                # Increment counters for status code groups.
                status_group = str(status)[0] + 'XXs'
                OpStats.stats[status_group] += 1

                # Increment counter for 5XXs_b.
                if is_browser(request) and status_group == '5XXs':
                    OpStats.stats['5XXs_b'] += 1

        # Make sure our databases are in a sane state for the next request.
        thread_name = threading.currentThread().getName()
        for name, store in getUtility(IZStorm).iterstores():
            try:
                assert store._connection._state != STATE_DISCONNECTED, (
                    "Bug #504291: Store left in a disconnected state.")
            except AssertionError:
                # The Store is in a disconnected state. This should
                # not happen, as store.rollback() should have been called
                # by now. Log an OOPS so we know about this. This
                # is Bug #504291 happening.
                getUtility(IErrorReportingUtility).raising(
                    sys.exc_info(), request)
                # Repair things so the server can remain operational.
                store.rollback()
            # Reset all Storm stores when not running the test suite.
            # We could reset them when running the test suite but
            # that'd make writing tests a much more painful task. We
            # still reset the slave stores though to minimize stale
            # cache issues.
            if thread_name != 'MainThread' or name.endswith('-slave'):
                store.reset()
开发者ID:pombreda,项目名称:UnnaturalCodeFork,代码行数:59,代码来源:publication.py


示例6: utranslate

def utranslate(domain, msgid, mapping=None, context=None, target_language=None, default=None):
    # We used to pass an object as context.
    if not IBrowserRequest.providedBy(context):
        context = aq_acquire(context, "REQUEST")
    # The signature of zope.i18n's translate has the msgid and domain switched
    return translate(
        msgid, domain=domain, mapping=mapping, context=context, target_language=target_language, default=default
    )
开发者ID:adam139,项目名称:Products.CMFPlone,代码行数:8,代码来源:i18nl10n.py


示例7: schoolToolTraverseSubscriber

def schoolToolTraverseSubscriber(event):
    """A subscriber to BeforeTraverseEvent.

    Adds DevMode layer to the request.
    """
    if (ISchoolToolApplication.providedBy(event.object) and
        IBrowserRequest.providedBy(event.request)):
        directlyProvides(event.request,
                         directlyProvidedBy(event.request) + IDevModeLayer)
开发者ID:achouhans,项目名称:schooltool-2.8.5,代码行数:9,代码来源:skin.py


示例8: __call__

 def __call__(self, objectId, instance, *args, **kw):
     request = instance.request
     if IBrowserRequest.providedBy(request):
         return {'request:SERVER_NAME':
                     (request.get('SERVER_NAME', u''),
                      request.get('SERVER_PORT', u''),
                      request.getApplicationURL(),)}
     else:
         return ()
开发者ID:Zojax,项目名称:zojax.cache,代码行数:9,代码来源:default.py


示例9: _translate

def _translate(context, msg):
    """helper to translate a term if its a messageid
    """
    if not isinstance(msg, Message):
        return msg
    if not IBrowserRequest.providedBy(context):
        context = aq_acquire(context, 'REQUEST')
    msg = translate(msg, context=context).strip()
    msg = '\n'.join([_.strip() for _ in msg.split('\n')])  # needed if vdex
    return msg
开发者ID:collective,项目名称:collective.dynatree,代码行数:10,代码来源:utils.py


示例10: getEmptyTitle

def getEmptyTitle(context, translated=True):
    """Returns string to be used for objects with no title or id"""
    # The default is an extra fancy unicode elipsis
    empty = unicode("\x5b\xc2\xb7\xc2\xb7\xc2\xb7\x5d", "utf-8")
    if translated:
        if context is not None:
            if not IBrowserRequest.providedBy(context):
                context = aq_get(context, "REQUEST", None)
        empty = translate("title_unset", domain="plone", context=context, default=empty)
    return empty
开发者ID:nrb,项目名称:Products.CMFPlone,代码行数:10,代码来源:utils.py


示例11: translate

    def translate(self, msgid, domain=None, mapping=None, context=None,
                  target_language=None, default=None):
        # Translate method for resticted code like skins.
        if context is not None:
            if not IBrowserRequest.providedBy(context):
                context = aq_get(context, 'REQUEST', None)

        return translate(msgid, domain=domain, mapping=mapping,
                         context=context, target_language=target_language,
                         default=default)
开发者ID:erral,项目名称:Products.CMFPlone,代码行数:10,代码来源:TranslationServiceTool.py


示例12: unauthorized

 def unauthorized(self, id, request):
     if not IBrowserRequest.providedBy(request) or request.method == 'PUT':
         next = getNextUtility(self, IAuthentication)
         return next.unauthorized(id, request)
     if str(request.URL).endswith('.ics'):
         # Special case: testing shows that Mozilla Calendar does not send
         # the Authorization header unless challenged.  It is pointless
         # to redirect an iCalendar client to an HTML login form.
         next = getNextUtility(self, IAuthentication)
         return next.unauthorized(id, request)
     return self.authPlugin.unauthorized(id, request)
开发者ID:achouhans,项目名称:schooltool-2.8.5,代码行数:11,代码来源:security.py


示例13: translate

    def translate(self, domain, msgid, mapping=None, context=None, target_language=None, default=None):
        # Translate a message using Unicode.
        if not msgid:
            # refuse to translate an empty msgid
            return default

        # ZPT passes the object as context.  That's wrong according to spec.
        if not IBrowserRequest.providedBy(context):
            context = aq_acquire(context, "REQUEST")
        text = msgid

        return z3translate(msgid, domain, mapping, context, target_language, default)
开发者ID:plone,项目名称:Products.PlacelessTranslationService,代码行数:12,代码来源:PlacelessTranslationService.py


示例14: traverse

 def traverse(self, name, furtherPath):
     context = self._subject
     __traceback_info__ = (context, name, furtherPath)
     # Find the REQUEST
     REQUEST = getattr(context, 'REQUEST', None)
     if not IBrowserRequest.providedBy(REQUEST):
         REQUEST = FakeRequest()
     # Try to lookup a view
     try:
         return getView(context, name, REQUEST)
     except ComponentLookupError:
         pass
开发者ID:goschtl,项目名称:zope,代码行数:12,代码来源:traversable.py


示例15: traverse

 def traverse(self, name, furtherPath):
     context = self._subject
     __traceback_info__ = (context, name, furtherPath)
     # Find the REQUEST
     REQUEST = getattr(context, "REQUEST", None)
     if not IBrowserRequest.providedBy(REQUEST):
         REQUEST = FakeRequest()
         setDefaultSkin(REQUEST)
     # Try to lookup a view
     try:
         return getMultiAdapter((context, REQUEST), Interface, name)
     except ComponentLookupError:
         pass
开发者ID:wpjunior,项目名称:proled,代码行数:13,代码来源:traversable.py


示例16: getSubObject

    def getSubObject(self, name, REQUEST, RESPONSE=None):
        obj = self.__p4a_z2utils_orig_getSubObject(name, REQUEST, RESPONSE)
        if obj is not None:
            return obj

        # The following is a copy from Five's __bobo_traverse__ stuff,
        # see Products.Five.traversable for details.
        # Basically we're forcing Archetypes to look up the correct
        # Five way:
        #   1) check for data object first
        #   2) check for zope3 view 
        #   3) return nothing so that AT's default __bobo_traverse__ will use aq

        if not IBrowserRequest.providedBy(REQUEST):
            # Try to get the REQUEST by acquisition
            REQUEST = getattr(self, 'REQUEST', None)
            if not IBrowserRequest.providedBy(REQUEST):
                REQUEST = FakeRequest()
                setDefaultSkin(REQUEST)

        # Con Zope 3 into using Zope 2's checkPermission
        Products.Five.security.newInteraction()

        # Use the ITraverser adapter (which in turn uses ITraversable
       # adapters) to traverse to a view.  Note that we're mixing
        # object-graph and object-publishing traversal here, but Zope
        # 2 has no way to tell us when to use which...
        # TODO Perhaps we can decide on object-graph vs.
        # object-publishing traversal depending on whether REQUEST is
        # a stub or not?
        try:
            return ITraverser(self).traverse(
                path=[name], request=REQUEST).__of__(self)
        except (ComponentLookupError, LookupError, TypeError,
                AttributeError, KeyError, NotFound):
            pass

        return None
开发者ID:Cenditel,项目名称:cenditel.comunidades.cynin,代码行数:38,代码来源:patches.py


示例17: translate

    def translate(self, msgid, mapping=None, context=None,
                  target_language=None, default=None):

        pts  = getTranslationService()
        if pts is None or context is None:
            # If we don't have enough context use interpolate
            return interpolate(default, mapping)

        # Don't accept anything which isn't a real request
        if not IBrowserRequest.providedBy(context) or 'PARENTS' not in context:
            raise ValueError, "You didn't pass in a request as the context."

        parent = context['PARENTS'][-1]
        return pts.translate(self.domain, msgid, mapping, parent,
                             target_language, default)
开发者ID:dtgit,项目名称:dtedu,代码行数:15,代码来源:utility.py


示例18: _curried

     def _curried(*args, **kw):
         request = args[r_index]
         if IBrowserRequest.providedBy(request):
             if request.method not in methods:
                 raise Forbidden('Request must be %s' % methodsstr)
 
         # Reconstruct keyword arguments
         if defaults is not None:
             args, kwparams = args[:arglen], args[arglen:]
             for positional, (key, default) in zip(kwparams, defaults):
                 if positional is _default:
                     kw[key] = default
                 else:
                     kw[key] = positional
                     
         return callable(*args, **kw)
开发者ID:Andyvs,项目名称:TrackMonthlyExpenses,代码行数:16,代码来源:requestmethod.py


示例19: translate

def translate(message, context):
    """ Translate i18n message.
    """
    if isinstance(message, Exception):
        try:
            message = message[0]
        except (TypeError, IndexError):
            pass
    # in Zope3, context is adapted to IUserPreferredLanguages,
    # which means context should be the request in this case.
    # Do not attempt to acquire REQUEST from the context, when we already
    # got a request as the context
    if context is not None:
        if not IBrowserRequest.providedBy(context):
            context = aq_get(context, 'REQUEST', None)

    return i18n.translate(message, domain='cmf_default', context=context)
开发者ID:CGTIC,项目名称:Plone_SP,代码行数:17,代码来源:utils.py


示例20: get_change_note

def get_change_note(request, default=None):
    """Returns the changeNote submitted with this request. The changeNote
    is read from the form-field (see behaviors.IVersionable)
    """

    _marker = object()

    value = _marker
    if IBrowserRequest.providedBy(request):
        annotations = IAnnotations(request)
        value = annotations.get(
            'plone.app.versioningbehavior-changeNote', _marker)

    if not value or value == _marker:
        return default

    return value
开发者ID:CGTIC,项目名称:Plone_SP,代码行数:17,代码来源:utils.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python publish.mapply函数代码示例发布时间:2022-05-26
下一篇:
Python http.HTTPInputStream类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap