/usr/share/pyshared/zope/publisher/interfaces/browser.py is in python-zope.publisher 3.12.6-2ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | ##############################################################################
#
# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Browser Interfaces
"""
__docformat__ = "reStructuredText"
from zope.interface import Attribute
from zope.interface import alsoProvides
from zope.browser.interfaces import IBrowserView # BBB import
from zope.publisher.interfaces import IPublication
from zope.publisher.interfaces import IPublishTraverse
from zope.publisher.interfaces import ISkinType
from zope.publisher.interfaces import ISkinnable
from zope.publisher.interfaces.http import IHTTPApplicationRequest
from zope.publisher.interfaces.http import IHTTPRequest
# BBB moved to zope.publisher.interfaces since not only browser reuquest
# can use the skin pattern
from zope.publisher.interfaces import IDefaultSkin # BBB import
from zope.publisher.interfaces import ISkinChangedEvent # BBB import
class IBrowserApplicationRequest(IHTTPApplicationRequest):
"""Browser-specific requests
"""
def __getitem__(key):
"""Return Browser request data
Request data are retrieved from one of:
- Environment variables
These variables include input headers, server data, and other
request-related data. The variable names are as <a
href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html">specified</a>
in the <a
href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">CGI
specification</a>
- Cookies
These are the cookie data, if present.
- Form data
Form data are searched before cookies, which are searched
before environmental data.
"""
form = Attribute(
"""Form data
This is a read-only mapping from name to form value for the name.
""")
class IBrowserPublication(IPublication):
"""Object publication framework.
"""
def getDefaultTraversal(request, ob):
"""Get the default published object for the request
Allows a default view to be added to traversal.
Returns (ob, steps_reversed).
"""
class IBrowserRequest(IHTTPRequest, ISkinnable):
"""Browser-specific Request functionality.
Note that the browser is special in many ways, since it exposes
the Request object to the end-developer.
"""
class IBrowserPublisher(IPublishTraverse):
def browserDefault(request):
"""Provide the default object
The default object is expressed as a (possibly different)
object and/or additional traversal steps.
Returns an object and a sequence of names. If the sequence of
names is not empty, then a traversal step is made for each name.
After the publisher gets to the end of the sequence, it will
call browserDefault on the last traversed object.
Normal usage is to return self for object and a default view name.
The publisher calls this method at the end of each traversal path. If
a non-empty sequence of names is returned, the publisher will traverse
those names and call browserDefault again at the end.
Note that if additional traversal steps are indicated (via a
nonempty sequence of names), then the publisher will try to adjust
the base href.
"""
class IBrowserPage(IBrowserView, IBrowserPublisher):
"""Browser page"""
def __call__(*args, **kw):
"""Compute a response body"""
class IBrowserSkinType(ISkinType):
"""A skin is a set of layers."""
class IDefaultBrowserLayer(IBrowserRequest):
"""The default layer."""
alsoProvides(IDefaultBrowserLayer, IBrowserSkinType)
|