[Zope3-checkins] SVN: Zope3/branches/ZopeX3-3.0/src/zope/app/
Update doc strings to ReST
Phil Ruggera
pruggera at san.rr.com
Thu Sep 2 03:05:40 EDT 2004
Log message for revision 27409:
Update doc strings to ReST
Changed:
U Zope3/branches/ZopeX3-3.0/src/zope/app/adapter/browser/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/attribute.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/tests/annotations.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/apidoc/ifacemodule/browser.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/applicationcontrol.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/runtimeinfo.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/servercontrol.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/translationdomaincontrol.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/zodbcontrol.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/runtimeinfo.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/zopeversion.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/basicskin/standardmacros.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/broken/broken.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/cache/annotationcacheable.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/cache/browser/cacheable.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/cache/browser/ram.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/cache/caching.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/cache/interfaces/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/cache/interfaces/ram.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/cache/ram.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/component/contentdirective.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/component/localservice.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/component/metaconfigure.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/adding.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/contents.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/find.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/metaconfigure.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/btree.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/contained.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/dependency.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/directory.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/find.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/ordered.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/sample.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/container/size.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/content/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/copypastemove/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/copypastemove/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dav/adapter.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dav/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dav/metaconfigure.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dav/metadirectives.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dav/mkcol.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dav/propfind.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dav/widget.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/debugskin/exceptions.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/debugskin/tests.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dependable/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dependable/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/browser.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/dtmlpage.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/annotatableadapter.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/browser/metadataedit.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/creatorannotator.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/dcsv.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/dcterms.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/timeannotators.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/xmlmetadata.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/errorservice/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/errorservice/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/event/dispatching.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/event/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/filerepresentation/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/folder/filerepresentation.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/folder/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/add.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/addwizard.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/boolwidgets.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/complexsample.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/vocabulary.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/widgetapi.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/editwizard.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/exception.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/macros.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/metaconfigure.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/metadirectives.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/objectwidget.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/schemadisplay.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/sequencewidget.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/submit.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/textwidgets.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/vocabularyquery.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/widget.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/form/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/ftests/test_introspector.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/ftp/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve1.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve2.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve3.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/generations/generations.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/generations/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/http/exception/notfound.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/http/exception/unauthorized.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/http/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/http/put.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/exportimport.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/synchronize.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/translate.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/filters.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/metaconfigure.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18nfile/i18nfile.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/i18nfile/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/introspector/browser.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/introspector/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/locales/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/location/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/location/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/location/location.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/location/pickling.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/mail/delivery.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/mail/event.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/mail/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/mail/maildir.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/mail/mailer.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/mail/metaconfigure.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/mail/metadirectives.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/mail/tests/test_maildir.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/observable/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observable.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observerevent.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observers.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/metaconfigure.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/onlinehelp.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/onlinehelptopic.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/metaconfigure.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/simpleviewclass.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/talesapi.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/urlquote.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/pluggableauth/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/pluggableauth/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/principalannotation/__init__.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/principalannotation/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/publication/browser.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/publication/ftp.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/publication/http.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/publication/httpfactory.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/publication/interfaces.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/publication/publicationtraverse.py
U Zope3/branches/ZopeX3-3.0/src/zope/app/publication/zopepublication.py
-=-
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/adapter/browser/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/adapter/browser/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/adapter/browser/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -19,10 +19,11 @@
search page
browsing page
- AdapterRegistrationAdd
+ `AdapterRegistrationAdd`
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app.form.utility import setUpWidgets, getWidgetsData
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/attribute.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/attribute.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/attribute.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from UserDict import DictMixin
@@ -26,8 +27,8 @@
class AttributeAnnotations(DictMixin):
- """Store annotations in the __annotations__ attribute on a
- 'IAttributeAnnotatable' object.
+ """Store annotations in the `__annotations__` attribute on a
+ `IAttributeAnnotatable` object.
"""
implements(IAnnotations)
__used_for__ = IAttributeAnnotatable
@@ -35,6 +36,9 @@
def __init__(self, obj):
self.obj = obj
+ def __nonzero__(self):
+ return bool(getattr(self.obj, '__annotations__', 0))
+
def get(self, key, default=None):
"""See zope.app.annotation.interfaces.IAnnotations"""
annotations = getattr(self.obj, '__annotations__', None)
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,25 +15,28 @@
$Id$
"""
+
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
class IAnnotatable(Interface):
"""Marker interface for objects that support storing annotations.
This interface says "There exists an adapter to an IAnnotations
- for an object that implements IAnnotatable".
+ for an object that implements `IAnnotatable`".
Classes should not directly declare that they implement this interface.
Instead they should implement an interface derived from this one, which
details how the annotations are to be stored, such as
- IAttributeAnnotatable.
+ `IAttributeAnnotatable`.
"""
class IAnnotations(IAnnotatable):
"""Stores arbitrary application data under package-unique keys.
By "package-unique keys", we mean keys that are are unique by
- virtua of including the dotted name of a package as a prefex. A
+ virtue of including the dotted name of a package as a prefex. A
package name is used to limit the authority for picking names for
a package to the people using that package.
@@ -44,6 +47,10 @@
"""
+ def __nonzero__():
+ """Test whether there are any annotations
+ """
+
def __getitem__(key):
"""Return the annotation stored under key.
@@ -70,7 +77,7 @@
class IAttributeAnnotatable(IAnnotatable):
"""Marker indicating that annotations can be stored on an attribute.
- This is a marker interface giving permission for an IAnnotations
- adapter to store data in an attribute named __annotations__.
+ This is a marker interface giving permission for an `IAnnotations`
+ adapter to store data in an attribute named `__annotations__`.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/tests/annotations.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/tests/annotations.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/annotation/tests/annotations.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -32,6 +32,13 @@
def setUp(self):
self.obj = {1:2, 3:4}
+ def test_nonzero(self):
+ self.failIf(self.annotations)
+ self.annotations['unittest'] = self.obj
+ self.failUnless(self.annotations)
+ del self.annotations['unittest']
+ self.failIf(self.annotations)
+
def testInterfaceVerifies(self):
verifyObject(IAnnotations, self.annotations)
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/apidoc/ifacemodule/browser.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/apidoc/ifacemodule/browser.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/apidoc/ifacemodule/browser.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -234,14 +234,14 @@
return zapi.name(self.context)
def getDoc(self):
- """Return the main documentation string of the interface.
+ r"""Return the main documentation string of the interface.
Example::
>>> from tests import getInterfaceDetails
>>> details = getInterfaceDetails()
- >>> details.getDoc()[:34]
- '<h1>This is the Foo interface</h1>'
+ >>> details.getDoc()[:55]
+ '<div class="document">\n<p>This is the Foo interface</p>'
"""
# We must remove all proxies here, so that we get the context's
# __module__ attribute. If we only remove security proxies, the
@@ -397,7 +397,7 @@
'iface': _getFieldInterface(field),
'class': _getFieldClass(field),
'required': _getRequired(field),
- 'default': field.default.__repr__(),
+ 'default': repr(field.default),
'description': renderText(
field.description or '',
removeAllProxies(self.context).__module__)}
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/applicationcontrol.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/applicationcontrol.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/applicationcontrol.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -14,6 +14,7 @@
"""Application Control
$Id$"""
+__docformat__ = 'restructuredtext'
from zope.app.applicationcontrol.interfaces import IApplicationControl
from zope.app.location import Location
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/runtimeinfo.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/runtimeinfo.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/runtimeinfo.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.applicationcontrol.interfaces import IRuntimeInfo
from zope.app.i18n import ZopeMessageIDFactory as _
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/servercontrol.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/servercontrol.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/servercontrol.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app import zapi
from zope.app.applicationcontrol.interfaces import IServerControl
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/translationdomaincontrol.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/translationdomaincontrol.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/translationdomaincontrol.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.i18n.interfaces import ITranslationDomain
from zope.app import zapi
from zope.app.i18n import ZopeMessageIDFactory as _
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/zodbcontrol.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/zodbcontrol.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/browser/zodbcontrol.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from ZODB.FileStorage.FileStorage import FileStorageError
from zope.app.i18n import ZopeMessageIDFactory as _
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
class IApplicationControl(Interface):
@@ -81,23 +83,23 @@
def shutdown(time=0):
"""Shutdown the server.
- The time should be greater-equal 0.
+ The `time` should be greater-equal 0.
- If the time is 0, the we do a hard shutdown, i.e. closing all sockets
+ If the `time` is 0, the we do a hard shutdown, i.e. closing all sockets
without waiting for tasks to complete.
- If the time is not 0, then we will give the tasks 'time' seconds to
+ If the `time` is not 0, then we will give the tasks `time` seconds to
finish before shutting down.
"""
def restart(time=0):
"""Restart the server.
- The time should be greater-equal 0.
+ The `time` should be greater-equal 0.
- If the time is 0, the we do a hard shutdown, i.e. closing all sockets
+ If the `time` is 0, the we do a hard shutdown, i.e. closing all sockets
without waiting for tasks to complete.
- If the time is not 0, then we will give the tasks 'time' seconds to
+ If the `time` is not 0, then we will give the tasks `time` seconds to
finish before shutting down.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/runtimeinfo.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/runtimeinfo.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/runtimeinfo.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import sys, os, time
try:
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/zopeversion.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/zopeversion.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/applicationcontrol/zopeversion.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import os
import re
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/basicskin/standardmacros.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/basicskin/standardmacros.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/basicskin/standardmacros.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -17,6 +17,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.interface.common.mapping import IItemMapping
from zope.component import getView
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/broken/broken.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/broken/broken.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/broken/broken.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,8 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
-
import ZODB.broken
import zope.interface
import zope.app.location.interfaces
@@ -81,7 +81,7 @@
>>> installBroken(DatabaseOpened(db))
If someone tries to load an object for which there is no class,
- then they will get a Broken object. We can simulate that by
+ then they will get a `Broken` object. We can simulate that by
calling the database's class factory directly with a connection
(None will do for our purposes, since the class factory function
we register ignores the connection argument), a non-existent
@@ -89,7 +89,7 @@
>>> cls = db.classFactory(None, 'ZODB.not.there', 'atall')
- The class that comes back is a subclass of Broken::
+ The class that comes back is a subclass of `Broken`::
>>> issubclass(cls, Broken)
True
@@ -102,7 +102,7 @@
True
and it has a security checker that is the same as the checker that
- Broken has::
+ `Broken` has::
>>> (cls.__Security_checker__ is
... zope.security.checker.getCheckerForInstancesOf(Broken))
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/cache/annotationcacheable.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/cache/annotationcacheable.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/cache/annotationcacheable.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.app import zapi
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/cache/browser/cacheable.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/cache/browser/cacheable.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/cache/browser/cacheable.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app import zapi
from zope.app.cache.caching import getCacheForObject, getLocationForCache
from zope.app.form.utility import setUpEditWidgets
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/cache/browser/ram.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/cache/browser/ram.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/cache/browser/ram.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.publisher.browser import BrowserView
from zope.app.cache.interfaces.ram import IRAMCache
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/cache/caching.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/cache/caching.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/cache/caching.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,12 +15,14 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app import zapi
from zope.app.cache.interfaces import ICacheable, ICache
from zope.component import ComponentLookupError
def getCacheForObject(obj):
- """Returns the cache associated with obj or None."""
+ """Returns the cache associated with `obj` or ``None``."""
adapter = ICacheable(obj, None)
if adapter is None:
return None
@@ -30,7 +32,7 @@
return zapi.getUtility(ICache, cache_id)
def getLocationForCache(obj):
- """Returns the location to be used for caching the object or None."""
+ """Returns the location to be used for caching the object or ``None``."""
try:
return zapi.getPath(obj)
except (ComponentLookupError, TypeError):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/cache/interfaces/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/cache/interfaces/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/cache/interfaces/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
from zope.schema import Choice
@@ -40,7 +42,7 @@
def invalidate(ob, key=None):
"""Invalidates cached entries that apply to the given object.
- ob is an object location. If key is specified, only
+ `ob` is an object location. If `key` is specified, only
invalidates entry for the given key. Otherwise invalidates
all entries for the object.
"""
@@ -49,9 +51,9 @@
"""Invalidates all cached entries."""
def query(ob, key=None, default=None):
- """Returns the cached data previously stored by set().
+ """Returns the cached data previously stored by `set()`.
- ob is the location of the content object being cached. key is
+ `ob` is the location of the content object being cached. `key` is
a mapping of keywords and values which should all be used to
select a cache entry.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/cache/interfaces/ram.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/cache/interfaces/ram.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/cache/interfaces/ram.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Attribute
from zope.app.cache.interfaces import ICache
@@ -36,7 +38,7 @@
The returned value is a sequence of dictionaries with the
following keys:
- 'path', 'hits', 'misses', 'size', 'entries'
+ `path`, `hits`, `misses`, `size`, `entries`
"""
def update(maxEntries, maxAge, cleanupInterval):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/cache/ram.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/cache/ram.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/cache/ram.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from time import time
from thread import allocate_lock
from pickle import dumps
@@ -41,15 +43,15 @@
The design of this class is heavily based on RAMCacheManager in
Zope2.
- The idea behind the RAMCache is that it should be shared between
+ The idea behind the `RAMCache` is that it should be shared between
threads, so that the same objects are not cached in each thread.
This is achieved by storing the cache data structure itself as a
- module level variable (RAMCache.caches). This, of course,
+ module level variable (`RAMCache.caches`). This, of course,
requires locking on modifications of that data structure.
- RAMCache is a persistent object. The actual data storage is a
+ `RAMCache` is a persistent object. The actual data storage is a
volatile object, which can be acquired/created by calling
- _getStorage(). Storage objects are shared between threads and
+ ``_getStorage()``. Storage objects are shared between threads and
handle their blocking internally.
"""
@@ -152,7 +154,7 @@
entries.
This object is shared between threads. It corresponds to a single
- persistent RAMCache object. Storage does the locking necessary
+ persistent `RAMCache` object. Storage does the locking necessary
for thread safety.
"""
@@ -170,7 +172,7 @@
def update(self, maxEntries=None, maxAge=None, cleanupInterval=None):
"""Set the registration options.
- None values are ignored.
+ ``None`` values are ignored.
"""
if maxEntries is not None:
self.maxEntries = maxEntries
@@ -216,7 +218,7 @@
def _do_invalidate(self, ob, key=None):
"""This does the actual invalidation, but does not handle the locking.
- This method is supposed to be called from invalidate()
+ This method is supposed to be called from `invalidate`
"""
try:
if key is None:
@@ -264,7 +266,7 @@
self.writelock.release()
def removeStaleEntries(self):
- "Remove the entries older than maxAge"
+ "Remove the entries older than `maxAge`"
if self.maxAge > 0:
punchline = time() - self.maxAge
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/component/contentdirective.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/component/contentdirective.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/component/contentdirective.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from types import ModuleType
from zope.interface import classImplements
from zope.schema.interfaces import IField
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/component/localservice.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/component/localservice.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/component/localservice.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.interface import implements
from zope.component.exceptions import ComponentLookupError
@@ -73,7 +74,7 @@
return getNextServices(context).getService(name)
def getNextServices(context):
- """Returns the next service manager to the one that contains 'context'.
+ """Returns the next service manager to the one that contains `context`.
"""
services = getLocalServices(context).next
if IGlobalServiceManager.providedBy(services):
@@ -93,12 +94,12 @@
return default
def getLocalServices(context):
- """Returns the service manager that contains 'context'.
+ """Returns the service manager that contains `context`.
- If context is a local service, returns the service manager that
- contains that service. If context is a service manager, returns context.
+ If `context` is a local service, returns the service manager that
+ contains that service. If `context` is a service manager, returns `context`.
- Otherwise, raises ComponentLookupError('Services')
+ Otherwise, raises ``ComponentLookupError('Services')``
"""
# IMPORTANT
@@ -117,7 +118,7 @@
"""An adapter ILocation -> IServiceService.
The ILocation is interpreted flexibly, we just check for
- __parent__.
+ ``__parent__``.
"""
current = ob
while True:
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/component/metaconfigure.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/component/metaconfigure.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/component/metaconfigure.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
from zope.component.service import UndefinedService
from zope.configuration.exceptions import ConfigurationError
@@ -61,7 +63,7 @@
def proxify(ob, checker):
- """Try to get the object proxied with the checker, but not too soon
+ """Try to get the object proxied with the `checker`, but not too soon
We really don't want to proxy the object unless we need to.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/adding.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/adding.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/adding.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -18,6 +18,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from warnings import warn
import zope.security.checker
from zope.interface import implements
@@ -200,7 +202,7 @@
return len(self.addingInfo()) == 1
def hasCustomAddView(self):
- "This should be called only if there is singleMenuItem else return 0"
+ "This should be called only if there is `singleMenuItem` else return 0"
if self.isSingleMenuItem():
menu_item = self.addingInfo()[0]
if 'has_custom_add_view' in menu_item:
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/contents.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/contents.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/contents.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.exceptions import NotFoundError
from zope.security.interfaces import Unauthorized
@@ -348,7 +349,7 @@
def hasClipboardContents(self):
- """ interogates the PrinicipalAnnotation to see if
+ """ interogates the `PrinicipalAnnotation` to see if
clipboard contents exist """
if not self.supportsPaste:
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/find.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/find.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/find.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.container.find import SimpleIdFindFilter
from zope.app.container.interfaces import IFind
from zope.app.traversing.api import getName
@@ -25,7 +27,7 @@
class Find(BrowserView):
def findByIds(self, ids):
- """Do a find for the ids listed in ids, which is a string."""
+ """Do a find for the `ids` listed in `ids`, which is a string."""
finder = IFind(self.context)
ids = ids.split()
# if we don't have any ids listed, don't search at all
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/metaconfigure.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/metaconfigure.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/browser/metaconfigure.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -11,11 +11,12 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Container-specific ``browser`` ZCML namespace directive handlers
+"""Container-specific browser ZCML namespace directive handlers
$Id$
"""
__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
from zope.configuration.fields import GlobalObject
from zope.schema import Id
@@ -26,7 +27,7 @@
from zope.app.security.fields import Permission
class IContainerViews(Interface):
- """Define several container views for an ``IContainer`` implementation."""
+ """Define several container views for an `IContainer` implementation."""
for_ = GlobalObject(
title=u"The interface this containerViews are for.",
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/btree.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/btree.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/btree.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -20,6 +20,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from persistent import Persistent
from BTrees.OOBTree import OOBTree
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/contained.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/contained.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/contained.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -11,10 +11,11 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Classes to support implenting IContained
+"""Classes to support implenting `IContained`
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.exceptions import DuplicationError
from zope.security.checker import selectChecker, CombinedChecker
@@ -39,7 +40,7 @@
from zope.app.container._zope_app_container_contained import getProxiedObject
class Contained(object):
- """Stupid mix-in that defines __parent__ and __name__ attributes
+ """Stupid mix-in that defines `__parent__` and `__name__` attributes
"""
zope.interface.implements(IContained)
@@ -210,11 +211,11 @@
"""Establish the containment of the object in the container
The object and necessary event are returned. The object may be a
- ContainedProxy around the original object. The event is an added
+ `ContainedProxy` around the original object. The event is an added
event, a moved event, or None.
- If the object implements IContained, simply set its __parent__
- and __name__ attributes:
+ If the object implements `IContained`, simply set its `__parent__`
+ and `__name__` attributes:
>>> container = {}
>>> item = Contained()
@@ -270,9 +271,9 @@
>>> event.oldName
u'foo'
- If the object implements ILocation, but not IContained, set it's
- __parent__ and __name__ attributes *and* declare that it
- implements IContained:
+ If the `object` implements `ILocation`, but not `IContained`, set it's
+ `__parent__` and `__name__` attributes *and* declare that it
+ implements `IContained`:
>>> from zope.app.location import Location
>>> item = Location()
@@ -289,8 +290,8 @@
True
- If the object doesn't even implement ILocation, put a
- ContainedProxy around it:
+ If the `object` doesn't even implement `ILocation`, put a
+ `ContainedProxy` around it:
>>> item = []
>>> x, event = containedEvent(item, container, 'foo')
@@ -331,7 +332,7 @@
Just return the contained object without an event. This is a convenience
"macro" for:
- containedEvent(object, container, name)[0]
+ ``containedEvent(object, container, name)[0]``
This function is only used for tests.
"""
@@ -341,10 +342,10 @@
"""Helper function to set an item and generate needed events
This helper is needed, in part, because the events need to get
- published after the object has been added to the container.
+ published after the `object` has been added to the `container`.
- If the item implements IContained, simply set it's __parent__
- and __name attributes:
+ If the item implements `IContained`, simply set it's `__parent__`
+ and `__name__` attributes:
>>> class IItem(zope.interface.Interface):
... pass
@@ -376,7 +377,7 @@
>>> item.__name__
u'c'
- If we run this using the testing framework, we'll use getEvents to
+ If we run this using the testing framework, we'll use `getEvents` to
track the events generated:
>>> from zope.app.event.tests.placelesssetup import getEvents
@@ -410,8 +411,8 @@
>>> item.moved is event
1
- We can suppress events and hooks by setting the __parent__ and
- __name__ first:
+ We can suppress events and hooks by setting the `__parent__` and
+ `__name__` first:
>>> item = Item()
>>> item.__parent__, item.__name__ = container, 'c2'
@@ -465,9 +466,9 @@
3
- If the object implements ILocation, but not IContained, set it's
- __parent__ and __name__ attributes *and* declare that it
- implements IContained:
+ If the object implements `ILocation`, but not `IContained`, set it's
+ `__parent__` and `__name__` attributes *and* declare that it
+ implements `IContained`:
>>> from zope.app.location import Location
>>> item = Location()
@@ -490,8 +491,8 @@
>>> len(getEvents(IObjectModifiedEvent))
4
- If the object doesn't even implement ILocation, put a
- ContainedProxy around it:
+ If the object doesn't even implement `ILocation`, put a
+ `ContainedProxy` around it:
>>> item = []
>>> setitem(container, container.__setitem__, u'i', item)
@@ -569,9 +570,10 @@
fixing_up = False
def uncontained(object, container, name=None):
- """Clear the containment relationship between the object amd the container
+ """Clear the containment relationship between the `object` and
+ the `container'
- If we run this using the testing framework, we'll use getEvents to
+ If we run this using the testing framework, we'll use `getEvents` to
track the events generated:
>>> from zope.app.event.tests.placelesssetup import getEvents
@@ -629,7 +631,7 @@
>>> len(getEvents(IObjectModifiedEvent))
1
- But, if either the name or parent are not None and they are not
+ But, if either the name or parent are not ``None`` and they are not
the container and the old name, we'll get a modified event but not
a removed event.
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/dependency.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/dependency.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/dependency.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app import zapi
from zope.app.dependable.interfaces import IDependable, DependencyError
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/directory.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/directory.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/directory.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -14,30 +14,32 @@
This module includes two adapters (adapter factories, really) for
providing a file-system representation for containers:
-noop
- Factory that "adapts" IContainer to IWriteDirectory.
+`noop`
+ Factory that "adapts" `IContainer` to `IWriteDirectory`.
This is a lie, since it just returns the original object.
-Cloner
- An IDirectoryFactory adapter that just clones the original object.
+`Cloner`
+ An `IDirectoryFactory` adapter that just clones the original object.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import zope.app.filerepresentation.interfaces
from zope.security.proxy import removeSecurityProxy
from zope.interface import implements
def noop(container):
- """Adapt an IContainer to an IWriteDirectory by just returning it
+ """Adapt an `IContainer` to an `IWriteDirectory` by just returning it
- This "works" because IContainer and IWriteDirectory have the same
- methods, however, the output doesn't actually implement IWriteDirectory.
+ This "works" because `IContainer` and `IWriteDirectory` have the same
+ methods, however, the output doesn't actually implement `IWriteDirectory`.
"""
return container
class Cloner(object):
- """IContainer to IDirectoryFactory adapter that clones
+ """`IContainer` to `IDirectoryFactory` adapter that clones
This adapter provides a factory that creates a new empty container
of the same class as it's context.
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/find.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/find.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/find.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from interfaces import IFind, IIdFindFilter
from interfaces import IReadContainer
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface, Attribute, implements, Invalid
from zope.component.interfaces import IView
from zope.interface.common.mapping import IItemMapping
@@ -60,40 +62,40 @@
"""An interface for the write aspects of a container."""
def __setitem__(name, object):
- """Add the given object to the container under the given name.
+ """Add the given `object` to the container under the given name.
- Raises a TypeError if the key is not a unicode or ascii string.
- Raises a ValueError if key is empty.
+ Raises a ``TypeError`` if the key is not a unicode or ascii string.
+ Raises a ``ValueError`` if key is empty.
The container might choose to add a different object than the
one passed to this method.
- If the object doesn't implement IContained, then one of two
+ If the object doesn't implement `IContained`, then one of two
things must be done:
- 1. If the object implements ILocation, then the IContained
+ 1. If the object implements `ILocation`, then the `IContained`
interface must be declared for the object.
- 2. Otherwise, a ContainedProxy is created for the object and
+ 2. Otherwise, a `ContainedProxy` is created for the object and
stored.
- The object's __parent__ and __name__ attributes are set to the
+ The object's `__parent__` and `__name__` attributes are set to the
container and the given name.
- If the old parent was None, then an IObjectAddedEvent is
- generated, otherwise, and IObjectMovedEvent is generated. An
- IObjectModifiedEvent is generated for the container. If an
+ If the old parent was ``None``, then an `IObjectAddedEvent` is
+ generated, otherwise, and `IObjectMovedEvent` is generated. An
+ `IObjectModifiedEvent` is generated for the container. If an
add event is generated and the object can be adapted to
- IObjectAddedEvent, then the adapter's addNotify method is called
+ `IObjectAddedEvent`, then the adapter's `addNotify` method is called
with the event. If the object can be adapted to
- IObjectMovedEvent, then the adapter's moveNotify method is
+ `IObjectMovedEvent`, then the adapter's `moveNotify` method is
called with the event.
If the object replaces another object, then the old object is
deleted before the new object is added, unless the container
vetos the replacement by raising an exception.
- If the object's __parent__ and __name__ were already set to
+ If the object's `__parent__` and `__name__` were already set to
the container and the name, then no events are generated and
no hooks. This allows advanced clients to take over event
generation.
@@ -103,20 +105,20 @@
def __delitem__(name):
"""Delete the nameed object from the container.
- Raises a KeyError if the object is not found.
+ Raises a ``KeyError`` if the object is not found.
- If the deleted object's __parent__ and __name__ match the
- container and given name, then an IObjectRemovedEvent is
- generated and the attributes are set to None. If the object
- can be adapted to IObjectMovedEvent, then the adapter's
- moveNotify method is called with the event.
+ If the deleted object's `__parent__` and `__name__` match the
+ container and given name, then an `IObjectRemovedEvent` is
+ generated and the attributes are set to ``None``. If the object
+ can be adapted to `IObjectMovedEvent`, then the adapter's
+ `moveNotify` method is called with the event.
- Unless the object's __parent__ and __name__ attributes were
- initially None, generate an IObjectModifiedEvent for the
+ Unless the object's `__parent__` and `__name__` attributes were
+ initially ``None``, generate an `IObjectModifiedEvent` for the
container.
- If the object's __parent__ and __name__ were already set to
- None, then no events are generated. This allows advanced
+ If the object's `__parent__` and `__name__` were already set to
+ ``None``, then no events are generated. This allows advanced
clients to take over event generation.
"""
@@ -138,12 +140,12 @@
"""Revise the order of keys, replacing the current ordering.
order is a list or a tuple containing the set of existing keys in
- the new order. order must contain len(keys()) items and cannot
+ the new order. `order` must contain ``len(keys())`` items and cannot
contain duplicate keys.
- Raises TypeError if order is not a tuple or a list.
+ Raises ``TypeError`` if order is not a tuple or a list.
- Raises ValueError if order contains an invalid set of keys.
+ Raises ``ValueError`` if order contains an invalid set of keys.
"""
class IContainerNamesContainer(IContainer):
@@ -185,17 +187,17 @@
def add(content):
"""Add content object to container.
- Add using the name in contentName. Returns the added object
+ Add using the name in `contentName`. Returns the added object
in the context of its container.
- If contentName is already used in container, raises
- DuplicateIDError.
+ If `contentName` is already used in container, raises
+ ``DuplicateIDError``.
"""
contentName = Attribute(
"""The content name, as usually set by the Adder traverser.
- If the content name hasn't been defined yet, returns None.
+ If the content name hasn't been defined yet, returns ``None``.
Some creation views might use this to optionally display the
name on forms.
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/ordered.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/ordered.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/ordered.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app.container.interfaces import IOrderedContainer
from zope.interface import implements
@@ -25,7 +26,7 @@
from zope.app.container.contained import Contained, setitem, uncontained
class OrderedContainer(Persistent, Contained):
- """ OrderedContainer maintains entries' order as added and moved.
+ """ `OrderedContainer` maintains entries' order as added and moved.
>>> oc = OrderedContainer()
>>> int(IOrderedContainer.providedBy(oc))
@@ -42,7 +43,7 @@
self._order = PersistentList()
def keys(self):
- """ See IOrderedContainer.
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc.keys()
@@ -60,7 +61,7 @@
return self._order[:]
def __iter__(self):
- """ See IOrderedContainer.
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc.keys()
@@ -76,7 +77,7 @@
return iter(self.keys())
def __getitem__(self, key):
- """ See IOrderedContainer
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc['foo'] = 'bar'
@@ -87,7 +88,7 @@
return self._data[key]
def get(self, key, default=None):
- """ See IOrderedContainer
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc['foo'] = 'bar'
@@ -100,7 +101,7 @@
return self._data.get(key, default)
def values(self):
- """ See IOrderedContainer.
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc.keys()
@@ -118,7 +119,7 @@
return [self._data[i] for i in self._order]
def __len__(self):
- """ See IOrderedContainer
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> int(len(oc) == 0)
@@ -131,7 +132,7 @@
return len(self._data)
def items(self):
- """ See IOrderedContainer.
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc.keys()
@@ -149,7 +150,7 @@
return [(i, self._data[i]) for i in self._order]
def __contains__(self, key):
- """ See IOrderedContainer.
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc['foo'] = 'bar'
@@ -164,7 +165,7 @@
has_key = __contains__
def __setitem__(self, key, object):
- """ See IOrderedContainer.
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc.keys()
@@ -203,7 +204,7 @@
return key
def __delitem__(self, key):
- """ See IOrderedContainer.
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc.keys()
@@ -227,7 +228,7 @@
self._order.remove(key)
def updateOrder(self, order):
- """ See IOrderedContainer
+ """ See `IOrderedContainer`.
>>> oc = OrderedContainer()
>>> oc['foo'] = 'bar'
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/sample.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/sample.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/sample.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -20,6 +20,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.container.interfaces import IContainer
from zope.interface import implements
from zope.app.container.contained import Contained, setitem, uncontained
@@ -28,7 +30,7 @@
"""Sample container implementation suitable for testing.
It is not suitable, directly as a base class unless the subclass
- overrides _newContainerData to return a persistent mapping object.
+ overrides `_newContainerData` to return a persistent mapping object.
"""
implements(IContainer)
@@ -40,49 +42,49 @@
Subclasses should override this if they want different data.
- The value returned is a mapping object that also has get,
- has_key, keys, items, and values methods.
+ The value returned is a mapping object that also has `get`,
+ `has_key`, `keys`, `items`, and `values` methods.
"""
return {}
def keys(self):
- '''See interface IReadContainer'''
+ '''See interface `IReadContainer`'''
return self.__data.keys()
def __iter__(self):
return iter(self.__data)
def __getitem__(self, key):
- '''See interface IReadContainer'''
+ '''See interface `IReadContainer`'''
return self.__data[key]
def get(self, key, default=None):
- '''See interface IReadContainer'''
+ '''See interface `IReadContainer`'''
return self.__data.get(key, default)
def values(self):
- '''See interface IReadContainer'''
+ '''See interface `IReadContainer`'''
return self.__data.values()
def __len__(self):
- '''See interface IReadContainer'''
+ '''See interface `IReadContainer`'''
return len(self.__data)
def items(self):
- '''See interface IReadContainer'''
+ '''See interface `IReadContainer`'''
return self.__data.items()
def __contains__(self, key):
- '''See interface IReadContainer'''
+ '''See interface `IReadContainer`'''
return self.__data.has_key(key)
has_key = __contains__
def __setitem__(self, key, object):
- '''See interface IWriteContainer'''
+ '''See interface `IWriteContainer`'''
setitem(self, self.__data.__setitem__, key, object)
def __delitem__(self, key):
- '''See interface IWriteContainer'''
+ '''See interface `IWriteContainer`'''
uncontained(self.__data[key], self, key)
del self.__data[key]
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/container/size.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/container/size.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/container/size.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -16,6 +16,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.i18n import ZopeMessageIDFactory as _
from zope.app.size.interfaces import ISized
from zope.interface import implements
@@ -28,11 +30,11 @@
self._container = container
def sizeForSorting(self):
- """See ISized"""
+ """See `ISized`"""
return ('item', len(self._container))
def sizeForDisplay(self):
- """See ISized"""
+ """See `ISized`"""
num_items = len(self._container)
if num_items == 1:
return _('1 item')
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/content/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/content/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/content/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface.interfaces import IInterface
class IContentType(IInterface):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/copypastemove/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/copypastemove/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/copypastemove/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements, Invalid
from zope.exceptions import NotFoundError, DuplicationError
@@ -31,9 +33,9 @@
class ObjectMover(object):
"""Adapter for moving objects between containers
- To use an object mover, pass a contained object to the class.
- The contained object should implement IContained. It should be
- contained in a container that has an adapter to INameChooser.
+ To use an object mover, pass a contained `object` to the class.
+ The contained `object` should implement `IContained`. It should be
+ contained in a container that has an adapter to `INameChooser`.
>>> from zope.app.container.contained import Contained
@@ -162,10 +164,10 @@
self.__parent__ = object # TODO: see if we can automate this
def moveTo(self, target, new_name=None):
- '''Move this object to the target given.
+ '''Move this object to the `target` given.
- Returns the new name within the target
- Typically, the target is adapted to IPasteTarget.'''
+ Returns the new name within the `target`
+ Typically, the `target` is adapted to `IPasteTarget`.'''
obj = self.context
container = obj.__parent__
@@ -187,14 +189,14 @@
del container[orig_name]
def moveable(self):
- '''Returns True if the object is moveable, otherwise False.'''
+ '''Returns ``True`` if the object is moveable, otherwise ``False``.'''
return True
def moveableTo(self, target, name=None):
'''Say whether the object can be moved to the given target.
- Returns True if it can be moved there. Otherwise, returns
- false.
+ Returns ``True`` if it can be moved there. Otherwise, returns
+ ``False``.
'''
if name is None:
name = self.context.__name__
@@ -207,9 +209,9 @@
class ObjectCopier(object):
"""Adapter for copying objects between containers
- To use an object copier, pass a contained object to the class.
- The contained object should implement IContained. It should be
- contained in a container that has an adapter to INameChooser.
+ To use an object copier, pass a contained `object` to the class.
+ The contained `object` should implement `IContained`. It should be
+ contained in a container that has an adapter to `INameChooser`.
>>> from zope.app.container.contained import Contained
>>> ob = Contained()
@@ -348,15 +350,15 @@
self.__parent__ = object # TODO: see if we can automate this
def copyTo(self, target, new_name=None):
- """Copy this object to the target given.
+ """Copy this object to the `target` given.
- Returns the new name within the target, or None
+ Returns the new name within the `target`, or ``None``
if the target doesn't do names.
- Typically, the target is adapted to IPasteTarget.
- After the copy is added to the target container, publish
- an IObjectCopied event in the context of the target container.
+ Typically, the `target` is adapted to `IPasteTarget`.
+ After the copy is added to the `target` container, publish
+ an `IObjectCopied` event in the context of the target container.
If a new object is created as part of the copying process, then
- an IObjectCreated event should be published.
+ an `IObjectCreated` event should be published.
"""
obj = self.context
container = obj.__parent__
@@ -377,11 +379,11 @@
target[new_name] = copy
def _configureCopy(self, copy, target, new_name):
- """Configures the copied object before it is added to target.
+ """Configures the copied object before it is added to `target`.
- target and new_name are provided as additional information.
+ `target` and `new_name` are provided as additional information.
- By default, copy.__parent__ and copy.__name__ are set to None.
+ By default, `copy.__parent__` and `copy.__name__` are set to ``None``.
Subclasses may override this method to perform additional
configuration of the copied object.
@@ -393,10 +395,10 @@
return True
def copyableTo(self, target, name=None):
- '''Say whether the object can be copied to the given target.
+ '''Say whether the object can be copied to the given `target`.
- Returns True if it can be copied there. Otherwise, returns
- False.
+ Returns ``True`` if it can be copied there. Otherwise, returns
+ ``False``.
'''
if name is None:
name = self.context.__name__
@@ -411,7 +413,7 @@
'''Principal clipboard
Clipboard information consists on tuples of
- {'action':action, 'target':target}.
+ ``{'action':action, 'target':target}``.
'''
def __init__(self, annotation):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/copypastemove/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/copypastemove/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/copypastemove/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,50 +15,51 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.interface import Interface
class IObjectMover(Interface):
- '''Use IObjectMover(obj) to move an object somewhere.'''
+ '''Use `IObjectMover(obj)` to move an object somewhere.'''
def moveTo(target, new_name=None):
'''Move this object to the target given.
Returns the new name within the target
- Typically, the target is adapted to IPasteTarget.'''
+ Typically, the target is adapted to `IPasteTarget`.'''
def moveable():
- '''Returns True if the object is moveable, otherwise False.'''
+ '''Returns ``True`` if the object is moveable, otherwise ``False``.'''
def moveableTo(target, name=None):
- '''Say whether the object can be moved to the given target.
+ '''Say whether the object can be moved to the given `target`.
- Returns True if it can be moved there. Otherwise, returns
- false.
+ Returns ``True`` if it can be moved there. Otherwise, returns
+ ``False``.
'''
class IObjectCopier(Interface):
def copyTo(target, new_name=None):
- """Copy this object to the target given.
+ """Copy this object to the `target` given.
- Returns the new name within the target, or None
+ Returns the new name within the `target`, or ``None``
if the target doesn't do names.
- Typically, the target is adapted to IPasteTarget.
+ Typically, the target is adapted to `IPasteTarget`.
After the copy is added to the target container, publish
- an IObjectCopied event in the context of the target container.
+ an `IObjectCopied` event in the context of the target container.
If a new object is created as part of the copying process, then
- an IObjectCreated event should be published.
+ an `IObjectCreated` event should be published.
"""
def copyable():
- '''Returns True if the object is copyable, otherwise False.'''
+ '''Returns ``True`` if the object is copyable, otherwise ``False``.'''
def copyableTo(target, name=None):
- '''Say whether the object can be copied to the given target.
+ '''Say whether the object can be copied to the given `target`.
- Returns True if it can be copied there. Otherwise, returns
- False.
+ Returns ``True`` if it can be copied there. Otherwise, returns
+ ``False``.
'''
class IPrincipalClipboard(Interface):
@@ -66,7 +67,7 @@
for a principal.
Clipboard information consists on tuples of
- {'action':action, 'target':target}.
+ ``{'action':action, 'target':target}``.
'''
def clearContents():
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dav/adapter.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dav/adapter.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dav/adapter.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from xml.dom import minidom
from zope.interface import implements
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dav/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dav/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dav/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
from zope.schema import Text
from zope.app.form.interfaces import IWidget
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dav/metaconfigure.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dav/metaconfigure.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dav/metaconfigure.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.component.metaconfigure import utility
from zope.interface import directlyProvides
from interfaces import IDAVNamespace
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dav/metadirectives.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dav/metadirectives.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dav/metadirectives.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.configuration.fields import GlobalObject
from zope.interface import Interface
from zope.schema import URI
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dav/mkcol.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dav/mkcol.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dav/mkcol.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -13,6 +13,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app import zapi
from zope.app.filerepresentation.interfaces import IWriteDirectory
from zope.app.filerepresentation.interfaces import IDirectoryFactory
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dav/propfind.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dav/propfind.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dav/propfind.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -13,6 +13,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from xml.dom import minidom
from zope.schema import getFieldNamesInOrder
from zope.app import zapi
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dav/widget.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dav/widget.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dav/widget.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app.dav.interfaces import IDAVWidget
from zope.app.dav.interfaces import ITextDAVWidget
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/debugskin/exceptions.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/debugskin/exceptions.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/debugskin/exceptions.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import sys
import traceback
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/debugskin/tests.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/debugskin/tests.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/debugskin/tests.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from unittest import TestCase, TestLoader, TextTestRunner
from zope.app.debugskin.exceptions import ExceptionDebugView
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dependable/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dependable/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dependable/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from interfaces import IDependable
from zope.app.annotation.interfaces import IAnnotations
from zope.app.traversing.api import getParent, canonicalPath, getPath
@@ -25,7 +27,7 @@
"""Abstract base class for annotations that are sets of paths.
To make this into a concrete class, a subclass must set the class
- attribute 'key' to a unique annotation key. A subclass may also
+ attribute `key` to a unique annotation key. A subclass may also
choose to rename the methods.
"""
@@ -90,7 +92,7 @@
class Dependable(PathSetAnnotation):
- """See IDependable."""
+ """See `IDependable`."""
implements(IDependable)
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dependable/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dependable/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dependable/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,13 +15,15 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
from zope.app.exception.interfaces import UserError
class IDependable(Interface):
"""Objects that other objects depend on.
- Note that IDependable will normally be implemented by an adapter.
+ Note that `IDependable` will normally be implemented by an adapter.
"""
def addDependent(location):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/browser.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/browser.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/browser.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
class DTMLPageEval(object):
def index(self, REQUEST=None, **kw):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/dtmlpage.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/dtmlpage.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/dtmlpage.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from persistent import Persistent
from zope.security.proxy import ProxyFactory
@@ -35,17 +37,18 @@
self.setSource(source)
def getSource(self):
- '''See interface IDTMLPage'''
+ '''See interface `IDTMLPage`'''
return self.template.read()
def setSource(self, text, content_type='text/html'):
- '''See interface IDTMLPage'''
+ '''See interface `IDTMLPage`'''
self.template = UntrustedHTML(text)
self.content_type = content_type
def render(self, request, *args, **kw):
- """See interface IDTMLRenderPage"""
+ """See interface `IDTMLRenderPage`"""
return self.template(self.__parent__, request, REQUEST=request, **kw)
+ return self.template(self.__parent__, request, REQUEST=request, **kw)
__call__ = render
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dtmlpage/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import zope.schema
from zope.interface import Interface, Attribute
from zope.app.i18n import ZopeMessageIDFactory as _
@@ -41,8 +43,8 @@
def render(request, *args, **kw):
"""Render the page template.
- The first argument is bound to the top-level 'request'
- variable. The positional arguments are bound to the 'args'
- variable and the keyword arguments are bound to the 'options'
+ The first argument is bound to the top-level `request`
+ variable. The positional arguments are bound to the `args`
+ variable and the keyword arguments are bound to the `kw`
variable.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/annotatableadapter.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/annotatableadapter.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/annotatableadapter.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from persistent.dict import PersistentDict
from zope.app.annotation.interfaces import IAnnotations, IAnnotatable
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/browser/metadataedit.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/browser/metadataedit.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/browser/metadataedit.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from datetime import datetime
from zope.event import notify
from zope.app.event.objectevent import ObjectAnnotationsModifiedEvent
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/creatorannotator.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/creatorannotator.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/creatorannotator.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.dublincore.interfaces import IZopeDublinCore
from zope.security.management import queryInteraction
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/dcsv.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/dcsv.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/dcsv.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -11,7 +11,7 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Functions for working with Dublin Core Structured Value (DCSV) data.
+"""Functions for working with Dublin Core Structured Values (DCSV) scheme.
DCSV is specified in 'DCMI DCSV: A syntax for writing a list of
labelled values in a text string', at:
@@ -20,6 +20,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
import re
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/dcterms.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/dcterms.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/dcterms.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -11,10 +11,11 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Support information for qualified Dublin Core metadata.
+"""Support information for qualified Dublin Core Metadata.
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app.dublincore import dcsv
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/timeannotators.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/timeannotators.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/timeannotators.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from datetime import datetime
from zope.app.dublincore.interfaces import IZopeDublinCore
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/xmlmetadata.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/xmlmetadata.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/dublincore/xmlmetadata.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
import xml.sax
import xml.sax.handler
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/errorservice/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/errorservice/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/errorservice/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -17,6 +17,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import time
import logging
from persistent import Persistent
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/errorservice/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/errorservice/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/errorservice/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
class IErrorReportingService(Interface):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/event/dispatching.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/event/dispatching.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/event/dispatching.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -14,9 +14,9 @@
"""Implement zope-specific event dispatching, based on subscription adapters
This package instals an event dispatcher that calls event handlers,
-registered as subscription adapters providing None.
+registered as subscription adapters providing ``None``.
-So, to subscribe to an event, use a subscription adapter to None:
+So, to subscribe to an event, use a subscription adapter to ``None``:
>>> from zope.app.tests.placelesssetup import setUp, tearDown
>>> setUp()
@@ -55,6 +55,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from warnings import warn
from zope.component import subscribers
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/event/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/event/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/event/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface, Attribute
class IObjectEvent(Interface):
@@ -29,7 +31,7 @@
class IObjectCreatedEvent(IObjectEvent):
"""An object has been created.
- The location will usually be None for this event."""
+ The location will usually be ``None`` for this event."""
class IObjectCopiedEvent(IObjectCreatedEvent):
"""An object has been copied"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/filerepresentation/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/filerepresentation/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/filerepresentation/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -56,21 +56,21 @@
FTP and WebDAV
- - Treat as a directory if there is an adapter to IReadDirectory.
+ - Treat as a directory if there is an adapter to `IReadDirectory`.
Treat as a file otherwise.
- For creating objects:
- Directories:
- Look for an IDirectoryFactory adapter.
+ Look for an `IDirectoryFactory` adapter.
- Files
- First lookj for a IFileFactory adapter with a name that is
+ First lookj for a `IFileFactory` adapter with a name that is
the same as the extention (e.g. ".pt").
- Then look for an unnamed IFileFactory adapter.
+ Then look for an unnamed `IFileFactory` adapter.
File-system synchronization
@@ -79,11 +79,12 @@
for this, but we want to make it as easy as possible to use other
adapters as well.
- For reading, there must be a class adapter to IReadSync. We will
+ For reading, there must be a class adapter to `IReadSync`. We will
then apply rules similar to those above.
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.interface import Interface
from zope.app.container.interfaces import IReadContainer, IWriteContainer
@@ -132,10 +133,10 @@
def __call__(name, content_type, data):
"""Create a file
- where a file is an object with adapters to IReadFile
- and IWriteFile.
+ where a file is an object with adapters to `IReadFile`
+ and `IWriteFile`.
- The file name, content typem, and data are provided to help
+ The file `name`, content `type`, and `data` are provided to help
create the object.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/folder/filerepresentation.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/folder/filerepresentation.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/folder/filerepresentation.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app.site.interfaces import ISite
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/folder/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/folder/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/folder/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.container.interfaces import IAdding
from zope.app.container.interfaces import IContainer, IContentContainer
from zope.app.traversing.interfaces import IContainmentRoot
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.form.browser.widget import BrowserWidget, DisplayWidget
from zope.app.form.browser.textwidgets import TextWidget, BytesWidget
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/add.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/add.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/add.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import sys
from zope.app import zapi
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/addwizard.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/addwizard.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/addwizard.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import sys
from zope.app import zapi
@@ -32,7 +34,7 @@
class AddWizardView(EditWizardView):
"""Multi-page add-view base class.
- Subclasses should provide a schema attribute defining the schema
+ Subclasses should provide a `schema` attribute defining the schema
to be edited.
"""
@@ -54,9 +56,9 @@
The data argument is a dictionary with the data entered in the form.
- Issues a redirect to context.nextURL()
+ Issues a redirect to `context.nextURL()`
- Returns False, as per editview.apply_update
+ Returns ``False``, as per `editview.apply_update`
"""
# This code originally from add.py's createAndAdd method
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/boolwidgets.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/boolwidgets.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/boolwidgets.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.schema.vocabulary import SimpleVocabulary
@@ -28,7 +30,7 @@
"""A checkbox widget used to display Bool fields.
For more detailed documentation, including sample code, see
- tests/test_checkboxwidget.py.
+ ``tests/test_checkboxwidget.py``.
"""
type = 'checkbox'
default = 0
@@ -71,13 +73,13 @@
super(CheckBoxWidget, self).hasInput()
def _getFormInput(self):
- """Returns the form input used by _toFieldValue.
+ """Returns the form input used by `_toFieldValue`.
Return values:
- 'on' checkbox is checked
- '' checkbox is not checked
- None form input was not provided
+ ``'on'`` checkbox is checked
+ ``''`` checkbox is not checked
+ ``None`` form input was not provided
"""
if self.request.get(self.name) == 'on':
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/complexsample.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/complexsample.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/complexsample.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from xml.sax.saxutils import escape, quoteattr
from zope.app.form.browser.complexsample import widgetapi
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.schema import BytesLine
from zope.schema.interfaces import IVocabularyQuery
from zope.schema.interfaces import IVocabularyTokenized, IBaseVocabulary
@@ -24,7 +26,7 @@
class ITitledTokenizedTerm(ITokenizedTerm):
- """ITokenizedTerm that also has a title attribute."""
+ """`ITokenizedTerm` that also has a title attribute."""
title = BytesLine(title=_(u"Title"))
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/vocabulary.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/vocabulary.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/vocabulary.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface.declarations import implements
from zope.schema.interfaces import ITokenizedTerm, IIterableVocabulary
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/widgetapi.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/widgetapi.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/complexsample/widgetapi.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -11,13 +11,15 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Alternate base classes for IBrowserWidget implementations.
+"""Alternate base classes for `IBrowserWidget` implementations.
-The base classes provided here implement the IBrowserWidget API and
+The base classes provided here implement the `IBrowserWidget` API and
provide a simpler API that derived classes are expected to implement.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from xml.sax.saxutils import escape, quoteattr
from zope.interface import implements
@@ -140,10 +142,10 @@
This method should not load values from the request.
- Derived classes should call the base class initialize() before
+ Derived classes should call the base class `initialize()` before
performing specialized initialization. This requirement is
waived for classes which inherit directly from, and *only*
- from, BaseWidget.
+ from, `BaseWidget`.
"""
def label(self):
@@ -153,11 +155,11 @@
def loadValueFromRequest(self):
"""Load the value from data in the request."""
raise NotImplementedError(
- "BaseWidget subclasses must implement loadValueFromRequest()")
+ "BaseWidget subclasses must implement `loadValueFromRequest()`")
def render(self, value):
raise NotImplementedError(
- "BaseWidget subclasses must implement render()")
+ "BaseWidget subclasses must implement `render()`")
class BaseVocabularyWidget(BaseWidget):
@@ -201,8 +203,8 @@
def loadValueFromRequest(self):
"""Load the value from data in the request.
- If self.queryview is not None, this method is responsible for
- calling the query view's performAction() method with the value
+ If `self.queryview` is not ``None``, this method is responsible for
+ calling the query view's `performAction()` method with the value
loaded, and returning the result::
value = ...load value from request data...
@@ -217,7 +219,7 @@
def convertTokensToValues(self, tokens):
"""Convert a list of tokens to a list of values.
- If an invalid token is encountered, WidgetInputError is raised.
+ If an invalid token is encountered, `WidgetInputError` is raised.
"""
L = []
for token in tokens:
@@ -319,7 +321,7 @@
def initialize(self):
"""Initialization which does not require reading the request.
- Derived classes should call the base class initialize() before
+ Derived classes should call the base class `initialize()` before
performing specialized initialization.
"""
# Should loading from the request happen here?
@@ -351,25 +353,25 @@
# Methods which must be overriden by subclasses:
def getResults(self):
- """Perform the query, or return None.
+ """Perform the query, or return ``None``.
- The return value should be None if there is no query to
+ The return value should be ``None` if there is no query to
execute, or an object that can be rendered as a set of results
- by renderQueryResults().
+ by `renderQueryResults()`.
If the query results in an empty set of results, some value
- other than None should be used to represent the results so
- that renderQueryResults() can provide a helpful message.
+ other than ``None`` should be used to represent the results so
+ that `renderQueryResults()` can provide a helpful message.
"""
raise NotImplementedError(
- "BaseQueryView subclasses must implement getResults()")
+ "`BaseQueryView` subclasses must implement `getResults()`")
def renderInput(self):
"""Render the input area of the query view."""
raise NotImplementedError(
- "BaseQueryView subclasses must implement renderInput()")
+ "`BaseQueryView` subclasses must implement `renderInput()`")
def renderQueryResults(self, results, value):
- """Render the results returned by getResults()."""
+ """Render the results returned by `getResults()`."""
raise NotImplementedError(
- "BaseQueryView subclasses must implement renderQueryResults()")
+ "`BaseQueryView` subclasses must implement `renderQueryResults()`")
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/editwizard.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/editwizard.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/editwizard.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.publisher.interfaces.browser import IBrowserRequest
from zope.security.checker import defineChecker, NamesChecker
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/exception.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/exception.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/exception.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from cgi import escape
from zope.interface import implements
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
from zope.schema import TextLine, Bool
from zope.app.form.interfaces import IWidget, IInputWidget
@@ -80,14 +82,14 @@
Form input elements should be included, prefixed with the
prefix given to setPrefix.
- 'form' and 'submit' elements should not be included. They
+ `form` and `submit` elements should not be included. They
will be provided for the larger form.
"""
def setPrefix(prefix):
- """Set the prefix used for names of input elements
+ """Set the `prefix` used for names of input elements
- Element names should begin with the given prefix,
+ Element names should begin with the given `prefix`,
followed by a dot.
"""
@@ -101,9 +103,9 @@
Classes supplied when defining add forms may need to override some
of these methods.
- In particular, when the context of an add form is not an IAdding,
- a subclass needs to override ``nextURL`` and one of ``add`` or
- ``createAndAdd``.
+ In particular, when the context of an add form is not an `IAdding`,
+ a subclass needs to override `nextURL` and one of `add` or
+ `createAndAdd`.
To see how all this fits together, here's pseudo code for the
update() method of the form:
@@ -125,7 +127,7 @@
The data argument is a dictionary with values supplied by the form.
If any user errors occur, they should be collected into a list
- and raised as a WidgetsError.
+ and raised as a ``WidgetsError``.
(For the default implementation, see pseudo-code in class docs.)
"""
@@ -134,11 +136,11 @@
"""Add the given content.
This method is overridden when the context of the add form is
- not an IAdding. In this case, the class that customizes the
+ not an `IAdding`. In this case, the class that customizes the
form must take over adding the object.
- The default implementation returns self.context.add(content),
- i.e. it delegates to the IAdding view.
+ The default implementation returns `self.context.add(content)`,
+ i.e. it delegates to the `IAdding` view.
"""
def nextURL():
@@ -146,11 +148,11 @@
This can be relative to the view's context.
- The default implementation returns self.context.nextURL(),
- i.e. it delegates to the IAdding view.
+ The default implementation returns `self.context.nextURL()`,
+ i.e. it delegates to the `IAdding` view.
"""
class IVocabularyQueryView(Interface):
- """View support for IVocabularyQuery objects.
+ """View support for `IVocabularyQuery` objects.
Implementations of this interface are used by vocabulary field
edit widgets to support query and result presentations.
@@ -166,8 +168,8 @@
components separated by dots may be appended if multiple form
fields are needed.
- This method will be called after the IVocabularyQueryView has
- been created and before performAction() is called.
+ This method will be called after the `IVocabularyQueryView` has
+ been created and before `performAction()` is called.
"""
@@ -177,23 +179,23 @@
This allows the query view to take advantage of rendering
helper methods made available by the widget.
- This method will be called after the IVocabularyQueryView has
- been created and before performAction() is called.
+ This method will be called after the `IVocabularyQueryView` has
+ been created and before `performAction()` is called.
"""
def performAction(value):
"""Perform any action indicated by any submit buttons in the
sub-widget.
- 'value' is the current value of the field. Submit actions may
+ `value` is the current value of the field. Submit actions may
cause the value to be modified. If so, the new value should
be returned; otherwise the old value should be returned.
Actions should only be performed if a submit button provided
by the view was selected.
- This method will be called after setName() and setWidget() and
- before renderInput() or renderResults().
+ This method will be called after `setName()` and `setWidget()` and
+ before `renderInput()` or `renderResults()`.
"""
def renderInput():
@@ -202,7 +204,7 @@
def renderResults(value):
"""Return a rendering of the results portion of the widget.
- 'value' is the current value represented by the widget.
+ `value` is the current value represented by the widget.
"""
class IWidgetInputErrorView(Interface):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/macros.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/macros.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/macros.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.basicskin.standardmacros import StandardMacros
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/metaconfigure.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/metaconfigure.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/metaconfigure.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import os
from zope.interface import implementedBy
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/metadirectives.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/metadirectives.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/metadirectives.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
from zope.configuration.fields import GlobalObject, Tokens, Path, \
Bool, PythonIdentifier, MessageID
@@ -218,7 +220,7 @@
Adding an object is a bit trickier than editing an object, because
the object the schema applies to isn't available when forms are
- being rendered. The addwizard directive provides an customization
+ being rendered. The addwizard directive provides a customization
interface to overcome this difficulty.
See zope.app.browser.form.interfaces.IAddFormCustomization.
@@ -294,7 +296,7 @@
Adding an object is a bit trickier than editing an object, because
the object the schema applies to isn't available when forms are
- being rendered. The addform directive provides an customization
+ being rendered. The addform directive provides a customization
interface to overcome this difficulty.
See zope.app.browser.form.interfaces.IAddFormCustomization.
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/objectwidget.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/objectwidget.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/objectwidget.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.schema import getFieldNamesInOrder
@@ -102,10 +104,10 @@
def getInputValue(self):
"""Return converted and validated widget data.
- The value for this field will be represented as an ObjectStorage
+ The value for this field will be represented as an `ObjectStorage`
instance which holds the subfield values as attributes. It will
need to be converted by higher-level code into some more useful
- object (note that the default EditView calls applyChanges, which
+ object (note that the default EditView calls `applyChanges`, which
does this).
"""
content = self.factory()
@@ -136,7 +138,7 @@
def hasInput(self):
"""Is there input data for the field
- Return True if there is data and False otherwise.
+ Return ``True`` if there is data and ``False`` otherwise.
"""
for name in self.names:
if self.getSubWidget(name).hasInput():
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/schemadisplay.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/schemadisplay.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/schemadisplay.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app import zapi
from zope.schema import getFieldNamesInOrder
@@ -32,7 +34,7 @@
class DisplayView(BrowserView):
"""Simple display-view base class.
- Subclasses should provide a schema attribute defining the schema
+ Subclasses should provide a `schema` attribute defining the schema
to be displayed.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/sequencewidget.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/sequencewidget.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/sequencewidget.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import re
from zope.interface import implements
from zope.i18n import translate
@@ -132,12 +134,12 @@
"""Return converted and validated widget data.
If there is no user input and the field is required, then a
- MissingInputError will be raised.
+ ``MissingInputError`` will be raised.
If there is no user input and the field is not required, then
the field default value will be returned.
- A WidgetInputError is returned in the case of one or more
+ A ``WidgetInputError`` is returned in the case of one or more
errors encountered, inputting, converting, or validating the data.
"""
sequence = self._generateSequence()
@@ -159,7 +161,7 @@
def hasInput(self):
"""Is there input data for the field
- Return True if there is data and False otherwise.
+ Return ``True`` if there is data and ``False`` otherwise.
"""
return len(self._generateSequence()) != 0
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/submit.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/submit.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/submit.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -17,6 +17,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
Next = "NEXT_SUBMIT"
Previous = "PREVIOUS_SUBMIT"
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/textwidgets.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/textwidgets.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/textwidgets.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from xml.sax import saxutils
from zope.interface import implements
@@ -73,7 +75,7 @@
value="Bob"
/>
- Calling setRenderedValue will change what gets output:
+ Calling `setRenderedValue` will change what gets output:
>>> widget.setRenderedValue("Barry")
>>> print normalize( widget() )
@@ -231,7 +233,7 @@
world!"
/>
- Calling setRenderedValue will change what gets output:
+ Calling `setRenderedValue` will change what gets output:
>>> widget.setRenderedValue("Hey\\ndude!")
>>> print normalize( widget() )
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/vocabularyquery.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/vocabularyquery.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/vocabularyquery.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.schema.interfaces import IIterableVocabularyQuery
@@ -47,7 +49,7 @@
def getAction(self):
"""Retrieve a the executed action from the form.
- Return None, if none of the registered actions was called.
+ Return ``None``, if none of the registered actions was called.
"""
assert self.__actions is not None, \
"getAction() called on %r with no actions defined" %self
@@ -74,7 +76,7 @@
def textForValue(self, term):
"""Extract a string from the term.
- The term must be a vocabulary tokenized term.
+ The `term` must be a vocabulary tokenized term.
This can be overridden to support more complex term objects. The token
is returned here since it's the only thing known to be a string, or
@@ -113,7 +115,7 @@
self.widget = None
def setName(self, name):
- """See interfaces.IVocabularyQueryView"""
+ """See `interfaces.IVocabularyQueryView`"""
assert not name.endswith(".")
self.name = name
@@ -123,15 +125,15 @@
self.widget = widget
def performAction(self, value):
- """See interfaces.IVocabularyQueryView"""
+ """See `interfaces.IVocabularyQueryView`"""
return value
def renderInput(self):
- """See interfaces.IVocabularyQueryView"""
+ """See `interfaces.IVocabularyQueryView`"""
return self._renderQueryInput()
def renderResults(self, value):
- """See interfaces.IVocabularyQueryView"""
+ """See `interfaces.IVocabularyQueryView`"""
results = self._getResults()
if results is not None:
return self._renderQueryResults(results, value)
@@ -154,11 +156,11 @@
class IterableVocabularyQueryViewBase(VocabularyQueryViewBase):
- """Query view for IIterableVocabulary objects without more
+ """Query view for `IIterableVocabulary` objects without more
specific query views.
This should only be used (directly) for vocabularies for which
- getQuery() returns None.
+ `getQuery()` returns ``None``.
"""
queryResultBatchSize = 8
@@ -180,7 +182,7 @@
self.addAction(MORE, self._msg_more)
def setName(self, name):
- """See interfaces.IVocabularyQueryView"""
+ """See `interfaces.IVocabularyQueryView`"""
super(IterableVocabularyQueryViewBase, self).setName(name)
name = self.name
self.query_index_name = name + ".start"
@@ -272,7 +274,7 @@
"</div>"])
def performAction(self, value):
- """See interfaces.IVocabularyQueryView"""
+ """See `interfaces.IVocabularyQueryView`"""
if self.action == ADD_DONE:
value = self.addSelections(value)
self.query_index = None
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/widget.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/widget.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/browser/widget.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import re, cgi
import traceback
from xml.sax.saxutils import quoteattr
@@ -40,7 +42,7 @@
The class provides some basic functionality common to all browser widgets.
- Browser widgets have a 'required' attribute, which indicates whether or
+ Browser widgets have a `required` attribute, which indicates whether or
not the underlying field requires input. By default, the widget's required
attribute is equal to the field's required attribute:
@@ -55,16 +57,16 @@
>>> widget.required
False
- However, the two 'required' values are independent of one another:
+ However, the two `required` values are independent of one another:
>>> field.required = True
>>> widget.required
False
Browser widgets have an error state, which can be rendered in a form using
- the error() method. The error method delegates the error rendering to a
- view that is registered as providing IWidgetInputErrorView. To illustrate,
- we can create and register a simple error display view:
+ the `error()` method. The error method delegates the error rendering to a
+ view that is registered as providing `IWidgetInputErrorView`. To
+ illustrate, we can create and register a simple error display view:
>>> from zope.app.form.interfaces import IWidgetInputError
>>> class SnippetErrorView:
@@ -152,7 +154,7 @@
>>> widget.error()
''
- setRenderedValue is used to specify the value displayed by the widget to
+ `setRenderedValue` is used to specify the value displayed by the widget to
the user. This value, however, is not the same as the input value, which
is read from the request:
@@ -170,7 +172,7 @@
>>> widget.name
'baz.foo'
- getInputValue always returns a value that can legally be assigned to
+ `getInputValue` always returns a value that can legally be assigned to
the widget field. To illustrate widget validation, we can add a constraint
to its field:
@@ -184,24 +186,24 @@
u'bye world'
This input violates the new field constraint and therefore causes an
- error when getInputValue is called:
+ error when `getInputValue` is called:
>>> widget.getInputValue()
Traceback (most recent call last):
WidgetInputError: ('foo', u'Foo', bye world)
Simple input widgets require that input be available in the form request.
- If input is not present, a MissingInputError is raised:
+ If input is not present, a ``MissingInputError`` is raised:
>>> del request.form[widget.name]
>>> widget.getInputValue()
Traceback (most recent call last):
MissingInputError: ('baz.foo', u'Foo', None)
- A MissingInputError indicates that input is missing from the form
+ A ``MissingInputError`` indicates that input is missing from the form
altogether. It does not indicate that the user failed to provide a value
- for a required field. The MissingInputError above was caused by the fact
- that the form does have any input for the widget:
+ for a required field. The ``MissingInputError`` above was caused by the
+ fact that the form does have any input for the widget:
>>> request.form[widget.name]
Traceback (most recent call last):
@@ -212,8 +214,8 @@
>>> request.form[widget.name] = ''
- In such a case, if the field is required, a WidgetInputError will be
- raised on a call to getInputValue:
+ In such a case, if the field is required, a ``WidgetInputError`` will be
+ raised on a call to `getInputValue`:
>>> field.required = True
>>> widget.getInputValue()
@@ -221,7 +223,7 @@
WidgetInputError: ('foo', u'Foo', )
However, if the field is not required, the empty string will be converted
- by the widget into the field's 'missing_value' and read as a legal field
+ by the widget into the field's `missing_value` and read as a legal field
value:
>>> field.required = False
@@ -270,7 +272,7 @@
def hasInput(self):
"""See IWidget.hasInput.
- Returns True if the submitted request form contains a value for
+ Returns ``True`` if the submitted request form contains a value for
the widget, otherwise returns False.
Some browser widgets may need to implement a more sophisticated test
@@ -322,7 +324,7 @@
"""Returns current form input.
The value returned must be in a format that can be used as the 'input'
- argument to _toFieldValue.
+ argument to `_toFieldValue`.
The default implementation returns the form value that corresponds to
the widget's name. Subclasses may override this method if their form
@@ -338,7 +340,7 @@
perform an appropriate conversion.
This method is used by getInputValue to perform the conversion
- of form input (provided by _getFormInput) to an appropriate field
+ of form input (provided by `_getFormInput`) to an appropriate field
value.
"""
if input == self._missing:
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/form/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/form/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/form/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.schema.interfaces import ValidationError
from zope.component.interfaces import IView
from zope.interface import Attribute, Interface, implements
@@ -35,7 +37,7 @@
def __init__(self, field_name, widget_title, errors):
"""Initialize Error
- 'errors' is a ValidationError or a list of ValidationError objects
+ `errors` is a ``ValidationError`` or a list of ValidationError objects
"""
UserError.__init__(self, field_name, widget_title, errors)
self.field_name = field_name
@@ -93,11 +95,11 @@
"""A collection of errors from widget processing.
widgetValues is a map containing the list of values that were obtained
- from the widget, keyed by field name.
+ from the widgets, keyed by field name.
"""
def __init__(self, errors, widgetsData={}):
- Exception.__init__(self, *errors)
+ ErrorContainer.__init__(self, *errors)
self.widgetsData = widgetsData
class IWidget(IView):
@@ -107,7 +109,7 @@
"""
name = Attribute(
- """The uniquewidget name
+ """The unique widget name
This must be unique within a set of widgets.""")
@@ -157,12 +159,12 @@
"""Validate the widget data.
If there is no user input and the field is required, then a
- MissingInputError will be raised.
+ ``MissingInputError`` will be raised.
If there is no user input and the field is not required, then
the field default value will be returned.
- A WidgetInputError is returned in the case of one or more
+ A ``WidgetInputError`` is returned in the case of one or more
errors encountered, inputting, converting, or validating the data.
"""
@@ -170,7 +172,7 @@
"""Return value suitable for the widget's field.
The widget must return a value that can be legally assigned to
- its bound field or otherwise raise WidgetInputError.
+ its bound field or otherwise raise ``WidgetInputError``.
See validate() for validation performed.
"""
@@ -178,18 +180,18 @@
def applyChanges(content):
"""Validate the widget data and apply it to the content.
- See validate() for validation performed.
+ See `validate()` for validation performed.
"""
def hasInput():
- """Returns True if the widget has input.
+ """Returns ``True`` if the widget has input.
Input is used by the widget to calculate an 'input value', which is
a value that can be legally assigned to a field.
- Note that the widget may return True, indicating it has input, but
- still be unable to return a value from getInputValue. Use
- hasValidInput to determine whether or not getInputValue will return
+ Note that the widget may return ``True``, indicating it has input, but
+ still be unable to return a value from `getInputValue`. Use
+ `hasValidInput` to determine whether or not `getInputValue` will return
a valid value.
A widget that does not have input should generally not be used to
@@ -197,9 +199,9 @@
"""
def hasValidInput():
- """Returns True is the widget has valid input.
+ """Returns ``True`` is the widget has valid input.
- This method is similar to hasInput but it also confirms that the
+ This method is similar to `hasInput` but it also confirms that the
input provided by the user can be converted to a valid field value
based on the field constraints.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/ftests/test_introspector.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/ftests/test_introspector.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/ftests/test_introspector.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import unittest
from zope.app.tests.functional import BrowserTestCase
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/ftp/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/ftp/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/ftp/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -16,6 +16,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.component import queryAdapter
from zope.publisher.interfaces.ftp import IFTPPublisher
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -18,6 +18,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
key = 'zope.app.generations.demo-generation'
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve1.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve1.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve1.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
generation = 1
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve2.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve2.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve2.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
generation = 2
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve3.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve3.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/generations/demo/evolve3.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
generation = 3
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/generations/generations.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/generations/generations.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/generations/generations.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from interfaces import GenerationTooHigh, GenerationTooLow, UnableToEvolve
from interfaces import ISchemaManager
@@ -27,10 +28,10 @@
class SchemaManager(object):
"""Schema manager
- Schema managers implement ISchemaManager using scripts provided
+ Schema managers implement `ISchemaManager` using scripts provided
as module methods. You create a schema manager by providing
mimumum and maximum generations and a package providing modules
- named `moduleN`, where `N` is a generation number. Each module
+ named ``moduleN``, where ``N`` is a generation number. Each module
provides a function, `evolve` that evolves a database from the
previous generation.
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/generations/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/generations/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/generations/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
import zope.interface
@@ -48,13 +49,13 @@
"""Evolve a database to the given schema generation.
The database should be assumed to be at the schema
- generation one less than the given generation
- argument. In other words, the evolve method is only
+ generation one less than the given `generation`
+ argument. In other words, the `evolve` method is only
required to make one evolutionary step.
- The context argument has a connection attribute,
+ The `context` argument has a connection attribute,
providing a database connection to be used to change
- the database. A context argument is passed rather than
+ the database. A `context` argument is passed rather than
a connection to make it possible to provide additional
information later, if it becomes necessary.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/http/exception/notfound.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/http/exception/notfound.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/http/exception/notfound.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.http.interfaces import IHTTPException
from zope.interface import implements
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/http/exception/unauthorized.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/http/exception/unauthorized.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/http/exception/unauthorized.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.http.interfaces import IHTTPException
from zope.interface import implements
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/http/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/http/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/http/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.interface import Interface, Attribute
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/http/put.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/http/put.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/http/put.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -9,10 +9,12 @@
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
##############################################################################
-"""HTTP PUT verb
+"""HTTP `PUT` verb
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.component import queryAdapter
from zope.app.http.interfaces import INullResource
from zope.app.filerepresentation.interfaces import IWriteFile
@@ -22,7 +24,7 @@
from zope.interface import implements
class NullResource(object):
- """Object representing objects to be created by a PUT.
+ """Object representing objects to be created by a `PUT`.
"""
implements(INullResource)
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.i18n.messageid import MessageIDFactory
# Import _ to use to create message ids in the zope domain
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.i18n.interfaces import ITranslationDomain
class BaseView(object):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/exportimport.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/exportimport.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/exportimport.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.i18n.browser import BaseView
from zope.i18n.interfaces import IMessageExportFilter, IMessageImportFilter
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/synchronize.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/synchronize.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/synchronize.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import httplib
import urllib
import xmlrpclib
@@ -68,7 +70,7 @@
def _disconnect(self):
- '''Disconnect from the sever; return None'''
+ '''Disconnect from the sever; return ``None``'''
if hasattr(self, '_connection') and self._connection is not None:
self._connection = None
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/translate.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/translate.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/browser/translate.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.i18n.browser import BaseView
class Translate(BaseView):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/filters.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/filters.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/filters.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import time, re
from types import StringTypes
from zope.interface import implements
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/metaconfigure.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/metaconfigure.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18n/metaconfigure.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import os
from zope.app.component.metaconfigure import utility
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18nfile/i18nfile.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18nfile/i18nfile.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18nfile/i18nfile.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from persistent import Persistent
from zope.interface import implements
from zope.app.file.file import File
@@ -64,37 +66,37 @@
return file
def getData(self, language=None):
- """See interface II18nFile"""
+ """See interface `II18nFile`"""
return self._get(language).data
def setData(self, data, language=None):
- """See interface II18nFile"""
+ """See interface `II18nFile`"""
self._get_or_add(language).data = data
# See IFile.
data = property(getData, setData)
def getSize(self, language=None):
- """See interface II18nFile"""
+ """See interface `II18nFile`"""
return self._get(language).getSize()
def getDefaultLanguage(self):
- """See II18nAware"""
+ """See `II18nAware`"""
return self.defaultLanguage
def setDefaultLanguage(self, language):
- """See II18nAware"""
+ """See `II18nAware`"""
if language not in self._data:
raise ValueError(
'cannot set nonexistent language (%s) as default' % language)
self.defaultLanguage = language
def getAvailableLanguages(self):
- """See II18nAware"""
+ """See `II18nAware`"""
return self._data.keys()
def removeLanguage(self, language):
- """See interface II18nFile"""
+ """See interface `II18nFile`"""
if language == self.defaultLanguage:
raise ValueError('cannot remove default language (%s)' % language)
if language in self._data:
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/i18nfile/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/i18nfile/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/i18nfile/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.i18n.interfaces import II18nAware
from zope.app.file.interfaces import IFile, IImage
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/introspector/browser.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/introspector/browser.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/introspector/browser.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.publisher.browser import BrowserView
from zope.app.introspector.interfaces import IIntrospector
from zope.app import zapi
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/introspector/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/introspector/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/introspector/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
class IIntrospector(Interface):
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/locales/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/locales/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/locales/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.interface import Interface
@@ -40,7 +41,7 @@
"""
def add(strings, base_dir=None):
- """Add strings to the internal catalog.
+ """Add `strings` to the internal catalog.
"""
def write():
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/location/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/location/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/location/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app.location.location import Location, locate, LocationIterator
from zope.app.location.location import inside, LocationProxy
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/location/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/location/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/location/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface, Attribute
from zope import schema
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/location/location.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/location/location.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/location/location.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import zope.interface
from zope.app.location.interfaces import ILocation
from zope.proxy import ProxyBase, getProxiedObject
@@ -22,7 +24,7 @@
from zope.app.decorator import DecoratedSecurityCheckerDescriptor
class Location(object):
- """Stupid mix-in that defines __parent__ and __name__ attributes
+ """Stupid mix-in that defines `__parent__` and `__name__` attributes
Usage within an Object field:
>>> from zope.interface import implements, Interface
@@ -121,7 +123,7 @@
__doc__ = """Location-object proxy
This is a non-picklable proxy that can be put around objects that
- don't implement ILocation.
+ don't implement `ILocation`.
>>> l = [1, 2, 3]
>>> p = LocationProxy(l, "Dad", "p")
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/location/pickling.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/location/pickling.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/location/pickling.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app.location.interfaces import ILocation
from zope.app.location.location import Location, inside
@@ -26,7 +27,7 @@
import zope.interface
def locationCopy(loc):
- """Return a copy of an object,, and anything in it
+ """Return a copy of an object, and anything in it
If object in the location refer to objects outside of the
location, then the copies of the objects in the location refer to
@@ -84,14 +85,14 @@
class CopyPersistent(object):
"""Persistence hooks for copying locations
- See locationCopy above.
+ See `locationCopy` above.
We get initialized with an initial location:
>>> o1 = Location()
>>> persistent = CopyPersistent(o1)
- We provide an id function that returns None when given a non-location:
+ We provide an `id` function that returns None when given a non-location:
>>> persistent.id(42)
@@ -102,7 +103,7 @@
>>> persistent.id(o2)
But, if we get a location outside the original location, we assign
- it an id and return the id:
+ it an `id` and return the `id`:
>>> o3 = Location()
>>> id3 = persistent.id(o3)
@@ -115,8 +116,8 @@
>>> id4 is id3
0
- If we ask for the id of an outside location more than once, we
- always get the same id back:
+ If we ask for the `id` of an outside location more than once, we
+ always get the same `id` back:
>> persistent.id(o4) == id4
1
@@ -159,16 +160,16 @@
class PathPersistent(object):
"""Persistence hooks for pickling locations
- See locationCopy above.
+ See `locationCopy` above.
Unlike copy persistent, we use paths for ids of outside locations
so that we can separate pickling and unpickling in time. We have
to compute paths and traverse objects to load paths, but paths can
- be stored for later use, unlike the ids used by CopyPersistent.
+ be stored for later use, unlike the ids used by `CopyPersistent`.
- We require outside locations that can be adapted to ITraversable.
+ We require outside locations that can be adapted to `ITraversable`.
To simplify the example, we'll use a simple traversable location
- defined in zope.app.location.tests, TLocation.
+ defined in `zope.app.location.tests`, `TLocation`.
Normally, general adapters are used to make objects traversable.
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/mail/delivery.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/mail/delivery.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/mail/delivery.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -13,10 +13,12 @@
##############################################################################
"""Mail Delivery utility implementation
-This module contains various implementations of MailDeliverys.
+This module contains various implementations of `MailDeliverys`.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import rfc822
import threading
import logging
@@ -116,7 +118,7 @@
class QueueProcessorThread(threading.Thread):
"""This thread is started at configuration time from the
- mail:queuedDelivery directive handler.
+ `mail:queuedDelivery` directive handler.
"""
log = logging.getLogger("QueueProcessorThread")
__stopped = False
@@ -128,7 +130,7 @@
def setMaildir(self, maildir):
"""Set the maildir.
- This method is used just to provide a maildir stubs ."""
+ This method is used just to provide a `maildir` stubs ."""
self.maildir = maildir
def setQueuePath(self, path):
@@ -139,7 +141,7 @@
def _parseMessage(self, message):
"""Extract fromaddr and toaddrs from the first two lines of
- the message.
+ the `message`.
Returns a fromaddr string, a toaddrs tuple and the message
string.
@@ -177,7 +179,7 @@
fromaddr, toaddrs, message = self._parseMessage(message)
self.mailer.send(fromaddr, toaddrs, message)
unlink(filename)
- # XXX maybe log the Message-Id of the message sent
+ # TODO: maybe log the Message-Id of the message sent
self.log.info("Mail from %s to %s sent.",
fromaddr, ", ".join(toaddrs))
# Blanket except because we don't want
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/mail/event.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/mail/event.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/mail/event.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.app.mail.interfaces import IMailSentEvent, IMailErrorEvent
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/mail/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/mail/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/mail/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,46 +15,48 @@
Email sending from Zope 3 applications works as follows:
-- A Zope 3 application locates a mail delivery utility ('IMailDelivery') and
+- A Zope 3 application locates a mail delivery utility (`IMailDelivery`) and
feeds a message to it. It gets back a unique message ID so it can keep
- track of the message by subscribing to 'IMailEvent' events.
+ track of the message by subscribing to `IMailEvent` events.
- The utility registers with the transaction system to make sure the
message is only sent when the transaction commits successfully. (Among
- other things this avoids duplicate messages on 'ConflictErrors'.)
+ other things this avoids duplicate messages on `ConflictErrors`.)
-- If the delivery utility is a 'IQueuedMailDelivery', it puts the message into a
- queue (a Maildir mailbox in the file system). A separate process or thread
- ('IMailQueueProcessor') watches the queue and delivers messages
+- If the delivery utility is a `IQueuedMailDelivery`, it puts the message into
+ a queue (a Maildir mailbox in the file system). A separate process or thread
+ (`IMailQueueProcessor`) watches the queue and delivers messages
asynchronously. Since the queue is located in the file system, it survives
Zope restarts or crashes and the mail is not lost. The queue processor
can implement batching to keep the server load low.
-- If the delivery utility is a IDirectMailDelivery, it delivers messages
+- If the delivery utility is a `IDirectMailDelivery`, it delivers messages
synchronously during the transaction commit. This is not a very good idea,
as it makes the user wait. Note that transaction commits must not fail,
but that is not a problem, because mail delivery problems dispatch an
event instead of raising an exception.
- XXX and there's the problem -- sending events causes unknown code to be
+ However, there is a problem -- sending events causes unknown code to be
executed during the transaction commit phase. There should be a way to
start a new transaction for event processing after this one is commited.
-- An 'IMailQueueProcessor' or 'IDirectMailDelivery' actually delivers the
- messages by using a mailer ('IMailer') component that encapsulates the
+- An `IMailQueueProcessor` or `IDirectMailDelivery` actually delivers the
+ messages by using a mailer (`IMailer`) component that encapsulates the
delivery process. There are currently two mailers:
- - 'ISMTPMailer' sends all messages to a relay host using SMTP
+ - `ISMTPMailer` sends all messages to a relay host using SMTP
- - 'ISendmailMailer' sends messages by calling an external process (usually
+ - `ISendmailMailer` sends messages by calling an external process (usually
/usr/lib/sendmail on Unix systems).
-- If mail delivery succeeds, an 'IMailSentEvent' is dispatched by the mailer.
- If mail delivery fails, no exceptions are raised, but an 'IMailErrorEvent' is
+- If mail delivery succeeds, an `IMailSentEvent` is dispatched by the mailer.
+ If mail delivery fails, no exceptions are raised, but an `IMailErrorEvent` is
dispatched by the mailer.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface, Attribute
from zope.schema import Object, TextLine, Int, Password, BytesLine
@@ -66,19 +68,19 @@
people."""
def send(fromaddr, toaddrs, message):
- """Sends an email message.
+ """Send an email message.
- 'fromaddr' is the sender address (byte string),
+ `fromaddr` is the sender address (byte string),
- 'toaddrs' is a sequence of recipient addresses (byte strings).
+ `toaddrs` is a sequence of recipient addresses (byte strings).
- 'message' is a byte string that contains both headers and body
+ `message` is a byte string that contains both headers and body
formatted according to RFC 2822. If it does not contain a Message-Id
header, it will be generated and added automatically.
Returns the message ID.
- You can subscribe to IMailEvent events for notification about problems
+ You can subscribe to `IMailEvent` events for notification about problems
or successful delivery.
Messages are actually sent during transaction commit.
@@ -125,23 +127,23 @@
class IMailer(Interface):
- """Mailer handles syncrhonous mail delivery."""
+ """Mailer handles synchronous mail delivery."""
def send(fromaddr, toaddrs, message):
- """Sends an email message.
+ """Send an email message.
- 'fromaddr' is the sender address (unicode string),
+ `fromaddr` is the sender address (unicode string),
- 'toaddrs' is a sequence of recipient addresses (unicode strings).
+ `toaddrs` is a sequence of recipient addresses (unicode strings).
- 'message' contains both headers and body formatted according to RFC
+ `message` contains both headers and body formatted according to RFC
2822. It should contain at least Date, From, To, and Message-Id
headers.
Messages are sent immediatelly.
- Dispatches an IMailSentEvent on successful delivery, otherwise an
- IMailErrorEvent.
+ Dispatches an `IMailSentEvent` on successful delivery, otherwise an
+ `IMailErrorEvent`.
"""
@@ -200,20 +202,20 @@
class IMaildirFactory(Interface):
def __call__(dirname, create=False):
- """Opens a Maildir folder at a given filesystem path.
+ """Opens a `Maildir` folder at a given filesystem path.
- If 'create' is True, the folder will be created when it does not
- exist. If 'create' is False and the folder does not exist, an
- exception (OSError) will be raised.
+ If `create` is ``True``, the folder will be created when it does not
+ exist. If `create` is ``False`` and the folder does not exist, an
+ exception (``OSError``) will be raised.
If path points to a file or an existing directory that is not a
- valid Maildir folder, an exception is raised regardless of the
- 'create' argument.
+ valid `Maildir` folder, an exception is raised regardless of the
+ `create` argument.
"""
class IMaildir(Interface):
- """Read/write access to Maildir folders.
+ """Read/write access to `Maildir` folders.
See http://www.qmail.org/man/man5/maildir.html for detailed format
description.
@@ -224,48 +226,48 @@
"""
def newMessage():
- """Creates a new message in the maildir.
+ """Creates a new message in the `maildir`.
- Returns a file-like object for a new file in the 'tmp' subdirectory
- of the Maildir. After writing message contents to it, call the
- commit() or abort() method on it.
+ Returns a file-like object for a new file in the ``tmp`` subdirectory
+ of the `Maildir`. After writing message contents to it, call the
+ ``commit()`` or ``abort()`` method on it.
- The returned object implements IMaildirMessageWriter.
+ The returned object implements `IMaildirMessageWriter`.
"""
class IMaildirMessageWriter(Interface):
- """A file-like object to a new message in a Maildir."""
+ """A file-like object to a new message in a `Maildir`."""
def write(str):
"""Writes a string to the file.
There is no return value. Due to buffering, the string may not actually
- show up in the file until the commit() method is called.
+ show up in the file until the ``commit()`` method is called.
"""
def writelines(sequence):
"""Writes a sequence of strings to the file.
The sequence can be any iterable object producing strings, typically a
- list of strings. There is no return value. 'writelines' does not add
+ list of strings. There is no return value. ``writelines`` does not add
any line separators.
"""
def commit():
- """Commits the new message using the Maildir protocol.
+ """Commits the new message using the `Maildir` protocol.
First, the message file is flushed, closed, then it is moved from
- 'tmp' into 'new' subdirectory of the maildir.
+ ``tmp`` into ``new`` subdirectory of the maildir.
- Calling commit() more than once is allowed.
+ Calling ``commit()`` more than once is allowed.
"""
def abort():
"""Aborts the new message.
- The message file is closed and removed from the 'tmp' subdirectory
- of the maildir.
+ The message file is closed and removed from the ``tmp`` subdirectory
+ of the `maildir`.
- Calling abort() more than once is allowed.
+ Calling ``abort()`` more than once is allowed.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/mail/maildir.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/mail/maildir.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/mail/maildir.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -11,12 +11,12 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Read/write access to Maildir folders.
+"""Read/write access to `Maildir` folders.
-XXX check exception types
-
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import os
import socket
import time
@@ -27,13 +27,13 @@
IMaildirFactory, IMaildir, IMaildirMessageWriter
class Maildir(object):
- """See zope.app.interfaces.mail.IMaildir"""
+ """See `zope.app.interfaces.mail.IMaildir`"""
classProvides(IMaildirFactory)
implements(IMaildir)
def __init__(self, path, create=False):
- "See zope.app.interfaces.mail.IMaildirFactory"
+ "See `zope.app.interfaces.mail.IMaildirFactory`"
self.path = path
def access(path):
@@ -56,7 +56,7 @@
raise ValueError('%s is not a Maildir folder' % path)
def __iter__(self):
- "See zope.app.interfaces.mail.IMaildir"
+ "See `zope.app.interfaces.mail.IMaildir`"
join = os.path.join
subdir_cur = join(self.path, 'cur')
subdir_new = join(self.path, 'new')
@@ -69,10 +69,10 @@
return iter(new_messages + cur_messages)
def newMessage(self):
- "See zope.app.interfaces.mail.IMaildir"
- # XXX http://www.qmail.org/man/man5/maildir.html says, that the first
- # step of the delivery process should be a chdir. Chdirs and
- # threading do not mix. Is that chdir really necessary?
+ "See `zope.app.interfaces.mail.IMaildir`"
+ # NOTE: http://www.qmail.org/man/man5/maildir.html says, that the first
+ # step of the delivery process should be a chdir. Chdirs and
+ # threading do not mix. Is that chdir really necessary?
join = os.path.join
subdir_tmp = join(self.path, 'tmp')
subdir_new = join(self.path, 'new')
@@ -86,17 +86,17 @@
if not os.path.exists(filename):
break
counter += 1
- if counter >= 1000: # XXX hardcoded magic number
+ if counter >= 1000:
raise RuntimeError("Failed to create unique file name in %s,"
" are we under a DoS attack?" % subdir_tmp)
- # XXX maildir.html (see above) says I should sleep for 2
- # seconds, not 1
+ # NOTE: maildir.html (see above) says I should sleep for 2
+ # seconds, not 1
time.sleep(1)
return MaildirMessageWriter(filename, join(subdir_new, unique))
class MaildirMessageWriter(object):
- """See zope.app.interfaces.mail.IMaildirMessageWriter"""
+ """See `zope.app.interfaces.mail.IMaildirMessageWriter`"""
implements(IMaildirMessageWriter)
@@ -118,14 +118,14 @@
def commit(self):
if self._closed and self._aborted:
- raise AssertionError('Cannot commit, message already aborted')
+ raise RuntimeError('Cannot commit, message already aborted')
elif not self._closed:
self._closed = True
self._aborted = False
self._fd.close()
os.rename(self._filename, self._new_filename)
- # XXX the same maildir.html says it should be a link, followed by
- # unlink. But Win32 does not necessarily have hardlinks!
+ # NOTE: the same maildir.html says it should be a link, followed by
+ # unlink. But Win32 does not necessarily have hardlinks!
def abort(self):
if not self._closed:
@@ -134,4 +134,4 @@
self._fd.close()
os.unlink(self._filename)
- # XXX should there be a __del__ that does abort()?
+ # should there be a __del__ that does abort()?
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/mail/mailer.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/mail/mailer.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/mail/mailer.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -17,6 +17,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from os import popen
from smtplib import SMTP
@@ -40,6 +42,7 @@
f.write(message)
f.close()
+
class SMTPMailer(object):
implements(ISMTPMailer)
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/mail/metaconfigure.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/mail/metaconfigure.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/mail/metaconfigure.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.configuration.exceptions import ConfigurationError
from zope.security.checker import InterfaceChecker, CheckerPublic
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/mail/metadirectives.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/mail/metadirectives.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/mail/metadirectives.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.configuration.fields import Path
from zope.interface import Interface
from zope.schema import TextLine, ASCII, BytesLine, Int
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/mail/tests/test_maildir.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/mail/tests/test_maildir.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/mail/tests/test_maildir.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -227,7 +227,7 @@
writer.abort()
self.assertEquals(self.fake_os_module._removed_files, ())
# Once aborted, commit fails
- self.assertRaises(AssertionError, writer.commit)
+ self.assertRaises(RuntimeError, writer.commit)
def test_message_writer_commit(self):
from zope.app.mail.maildir import MaildirMessageWriter
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/observable/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/observable/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/observable/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.interface.interfaces import Interface
@@ -24,7 +25,7 @@
"""Call registered event handlers"""
def handle(interfaces, handler):
- """Register a handler for some interfaces
+ """Register a `handler` for some `interfaces`
The handler will be called with object's implementing the
interface. Typically, one of the objects will be an
@@ -38,5 +39,5 @@
"""
def unhandle(interfaces, handler):
- """Unregister a handler for some interfaces
+ """Unregister a `handler` for some `interfaces`
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observable.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observable.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observable.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements, providedBy
from zope.app.observable.interfaces import IObservable
from zope.app.annotation.interfaces import IAnnotations
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observerevent.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observerevent.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observerevent.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.app.observable.interfaces import IObservable
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observers.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observers.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/observable/observers.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -13,8 +13,8 @@
##############################################################################
"""Observer Registry
-Observers observe other objects by getting notified of object events
-on those objects. Observers subscribe to particular types of events.
+`Observers` observe other objects by getting notified of object events
+on those objects. `Observers` subscribe to particular types of events.
>>> registry = Observers()
@@ -40,7 +40,7 @@
>>> subs
['sub12 1', 'sub12 2']
-You can register subscribers for all specifications using None::
+You can register subscribers for all specifications using ``None``::
>>> class IR2(IR1):
... pass
@@ -106,8 +106,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
-
from persistent import Persistent
from zope.interface.adapter import Default, Null
from zope.interface.adapter import Surrogate, AdapterRegistry
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -13,10 +13,12 @@
##############################################################################
"""OnlineHelp System.
-Create the global OnlineHelp instance.
+Create the global `OnlineHelp` instance.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import os
import zope
@@ -42,7 +44,7 @@
def traverse(self, name, ignored):
"""Used to traverse to an online help topic.
- Returns the global OnlineHelp instance with the traversal
+ Returns the global `OnlineHelp` instance with the traversal
context.
"""
help.context = self.context
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -13,10 +13,12 @@
##############################################################################
"""OnlineHelp Interfaces
-These are the interfaces designed for the OnlineHelp system.
+These are the interfaces designed for the `OnlineHelp` system.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.schema import TextLine, SourceText, Choice
from zope.configuration.fields import GlobalObject
from zope.app.container.interfaces import IContainer
@@ -38,7 +40,7 @@
The Content is stored in a file and not the Topic itself.
The file is only read when required.
- Note that all the Sub-Topic management is done by the IContainer
+ Note that all the Sub-Topic management is done by the `IContainer`
interface.
"""
@@ -111,26 +113,26 @@
interface=None, view=None, resources=None):
"""This method registers a topic at the correct place.
- parent_path -- Location of this topic's parent in the OnlineHelp
+ `parent_path` -- Location of this topic's parent in the OnlineHelp
tree. Need not to exist at time of creation.
- id -- Specifies the id of the topic
+ `id` -- Specifies the id of the topic
- title -- Specifies title of the topic. This title will be used in
+ `title` -- Specifies title of the topic. This title will be used in
the tree as Identification.
- doc_path -- Specifies where the file that contains the topic
+ `doc_path` -- Specifies where the file that contains the topic
content is located.
- interface -- Name of the interface for which the help topic is
+ `interface` -- Name of the interface for which the help topic is
being registered. This can be optional, since not all topics must
be bound to a particular interface.
- view -- This attribute specifies the name of the view for which
+ `view` -- This attribute specifies the name of the view for which
this topic is registered. Note that this attribute is also
optional.
- resources -- Specifies a list of resources for the topic,
+ `resources` -- Specifies a list of resources for the topic,
for example images that are included by the rendered topic content.
Optional.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/metaconfigure.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/metaconfigure.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/metaconfigure.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -13,16 +13,18 @@
##############################################################################
"""Meta-Configuration Handlers for "help" namespace.
-These handlers process the registerTopic() directive of
+These handlers process the `registerTopic()` directive of
the "help" ZCML namespace.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.onlinehelp import help
def register(_context, id, title, parent="", doc_path=None, for_=None,
view=None, resources=None):
- """Register an OnlineHelp topic"""
+ """Register an `OnlineHelp` topic"""
_context.action(
discriminator = ('registerHelpTopic', parent, id),
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/onlinehelp.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/onlinehelp.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/onlinehelp.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -13,11 +13,13 @@
##############################################################################
"""Implementation of OnlineHelp System.
-This the default implementation of the OnlineHelp. It defines the global
-OnlineHelp in which all basic Zope-core help screens are registered.
+This the default implementation of the `OnlineHelp`. It defines the global
+`OnlineHelp` in which all basic Zope-core help screens are registered.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.component.servicenames import Utilities
from zope.app import zapi
@@ -33,7 +35,7 @@
>>> from zope.app.onlinehelp.tests.test_onlinehelp import I1, Dummy1
>>> path = os.path.join(testdir(), 'help.txt')
- Create an onlinehelp instance
+ Create an `OnlineHelp` instance
>>> onlinehelp = OnlineHelp('Help', path)
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/onlinehelptopic.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/onlinehelptopic.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/onlinehelp/onlinehelptopic.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -16,6 +16,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import os
from persistent import Persistent
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.dublincore.interfaces import IDCDescriptiveProperties
from zope.app.dublincore.interfaces import IDCTimes
from zope.interface import Interface
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/metaconfigure.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/metaconfigure.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/metaconfigure.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -16,6 +16,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.pagetemplate.engine import Engine, _Engine
from zope.app.pagetemplate.engine import TrustedEngine, _TrustedEngine
from zope.testing.cleanup import addCleanUp
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/simpleviewclass.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/simpleviewclass.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/simpleviewclass.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import sys
from zope.app.publisher.browser import BrowserView
from zope.publisher.interfaces.browser import IBrowserPublisher
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/talesapi.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/talesapi.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/talesapi.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.dublincore.interfaces import IZopeDublinCore
from zope.app.size.interfaces import ISized
from zope.app import zapi
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/urlquote.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/urlquote.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/pagetemplate/urlquote.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
import urllib
from zope.interface import implements
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/pluggableauth/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/pluggableauth/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/pluggableauth/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import random
import sys
import time
@@ -52,7 +54,7 @@
from interfaces import IContainedPrincipalSource, IContainerPrincipalSource
def gen_key():
- """Return a random int (1, MAXINT), suitable for use as a BTree key."""
+ """Return a random int (1, MAXINT), suitable for use as a `BTree` key."""
return random.randint(0, sys.maxint-1)
@@ -75,7 +77,7 @@
OrderedContainer.__init__(self)
def authenticate(self, request):
- """ See IAuthenticationService. """
+ """ See `IAuthenticationService`. """
for ps_key, ps in self.items():
loginView = zapi.queryView(ps, "login", request)
if loginView is not None:
@@ -95,7 +97,7 @@
return None
def unauthorized(self, id, request):
- """ See IAuthenticationService. """
+ """ See `IAuthenticationService`. """
next = queryNextService(self, Authentication, None)
if next is not None:
@@ -104,12 +106,12 @@
return None
def getPrincipal(self, id):
- """ See IAuthenticationService.
+ """ See `IAuthenticationService`.
- For this implementation, an 'id' is a string which can be
+ For this implementation, an `id` is a string which can be
split into a 3-tuple by splitting on tab characters. The
- three tuple consists of (auth_service_earmark,
- principal_source_id, principal_id).
+ three tuple consists of (`auth_service_earmark`,
+ `principal_source_id`, `principal_id`).
In the current strategy, the principal sources that are members
of this authentication service cannot be renamed; if they are,
@@ -139,7 +141,7 @@
return source.getPrincipal(id)
def getPrincipals(self, name):
- """ See IAuthenticationService. """
+ """ See `IAuthenticationService`. """
for ps_key, ps in self.items():
for p in ps.getPrincipals(name):
@@ -151,7 +153,7 @@
yield p
def addPrincipalSource(self, id, principal_source):
- """ See IPluggableAuthenticationService.
+ """ See `IPluggableAuthenticationService`.
>>> pas = PluggableAuthenticationService()
>>> sps = BTreePrincipalSource()
@@ -168,7 +170,7 @@
self[id] = principal_source
def removePrincipalSource(self, id):
- """ See IPluggableAuthenticationService.
+ """ See `IPluggableAuthenticationService`.
>>> pas = PluggableAuthenticationService()
>>> sps = BTreePrincipalSource()
@@ -190,7 +192,7 @@
def PluggableAuthenticationServiceAddSubscriber(self, event):
r"""Generates an earmark if one is not provided.
- Define a stub for PluggableAuthenticationService
+ Define a stub for `PluggableAuthenticationService`
>>> from zope.app.traversing.interfaces import IPhysicallyLocatable
>>> class PluggableAuthStub(object):
@@ -237,7 +239,7 @@
):
def __setitem__(name, principal):
- """Add a principal
+ """Add a `principal`
The name must be the same as the principal login
"""
@@ -263,7 +265,7 @@
# IContainer-related methods
def __delitem__(self, login):
- """ See IContainer.
+ """ See `IContainer`.
>>> sps = BTreePrincipalSource()
>>> prin = SimplePrincipal('fred', 'fred', '123')
@@ -282,7 +284,7 @@
del self._numbers_by_login[login]
def __setitem__(self, login, ob):
- """ See IContainerNamesContainer
+ """ See `IContainerNamesContainer`
>>> sps = BTreePrincipalSource()
>>> prin = SimplePrincipal('gandalf', 'shadowfax')
@@ -302,7 +304,7 @@
self._numbers_by_login[ob.login] = key
def keys(self):
- """ See IContainer.
+ """ See `IContainer`.
>>> sps = BTreePrincipalSource()
>>> sps.keys()
@@ -320,7 +322,7 @@
return list(self._numbers_by_login.keys())
def __iter__(self):
- """ See IContainer.
+ """ See `IContainer`.
>>> sps = BTreePrincipalSource()
>>> sps.keys()
@@ -336,7 +338,7 @@
return iter(self.keys())
def __getitem__(self, key):
- """ See IContainer
+ """ See `IContainer`
>>> sps = BTreePrincipalSource()
>>> prin = SimplePrincipal('gag', 'justzisguy')
@@ -349,7 +351,7 @@
return self._principals_by_number[number]
def get(self, key, default=None):
- """ See IContainer
+ """ See `IContainer`
>>> sps = BTreePrincipalSource()
>>> prin = SimplePrincipal(1, 'slartibartfast', 'fjord')
@@ -367,7 +369,7 @@
return self._principals_by_number[number]
def values(self):
- """ See IContainer.
+ """ See `IContainer`.
>>> sps = BTreePrincipalSource()
>>> sps.keys()
@@ -386,7 +388,7 @@
for n in self._numbers_by_login.values()]
def __len__(self):
- """ See IContainer
+ """ See `IContainer`
>>> sps = BTreePrincipalSource()
>>> int(len(sps) == 0)
@@ -400,7 +402,7 @@
return len(self._principals_by_number)
def items(self):
- """ See IContainer.
+ """ See `IContainer`.
>>> sps = BTreePrincipalSource()
>>> sps.keys()
@@ -419,7 +421,7 @@
return [(p.login, p) for p in self.values()]
def __contains__(self, key):
- """ See IContainer.
+ """ See `IContainer`.
>>> sps = BTreePrincipalSource()
>>> prin = SimplePrincipal('slinkp', 'password')
@@ -436,9 +438,9 @@
# PrincipalSource-related methods
def getPrincipal(self, id):
- """ See IPrincipalSource.
+ """ See `IPrincipalSource`.
- 'id' is the id as returned by principal.getId(),
+ `id` is the id as returned by ``principal.getId()``,
not a login.
"""
@@ -452,7 +454,7 @@
raise NotFoundError, id
def getPrincipals(self, name):
- """ See IPrincipalSource.
+ """ See `IPrincipalSource`.
>>> sps = BTreePrincipalSource()
>>> prin1 = SimplePrincipal('gandalf', 'shadowfax')
@@ -478,7 +480,7 @@
yield self[k]
def authenticate(self, login, password):
- """ See ILoginPasswordPrincipalSource. """
+ """ See `ILoginPasswordPrincipalSource`. """
number = self._numbers_by_login.get(login)
if number is None:
return
@@ -523,7 +525,7 @@
class SimplePrincipal(Persistent, Contained):
- """A no-frills IUserSchemafied implementation."""
+ """A no-frills `IUserSchemafied` implementation."""
implements(IUserSchemafied, IBTreePrincipalSourceContained)
@@ -555,11 +557,11 @@
return self.description
def getLogin(self):
- """See IReadUser."""
+ """See `IReadUser`."""
return self.login
def validate(self, test_password):
- """ See IReadUser.
+ """ See `IReadUser`.
>>> pal = SimplePrincipal('gandalf', 'shadowfax', 'The Grey Wizard',
... 'Cool old man with neato fireworks. '
@@ -575,7 +577,7 @@
"""Simple basic authentication view
This only handles requests which have basic auth credentials
- in them currently (ILoginPassword-based requests).
+ in them currently (`ILoginPassword`-based requests).
If you want a different policy, you'll need to write and register
a different view, replacing this one.
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/pluggableauth/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/pluggableauth/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/pluggableauth/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.i18n import ZopeMessageIDFactory as _
from zope.app.container.interfaces import IContainer, IContained
from zope.app.container.constraints import ItemTypePrecondition
@@ -42,14 +44,14 @@
class IPrincipalSource(Interface):
- """A read-only source of IPrincipals.
+ """A read-only source of `IPrincipals`.
"""
def getPrincipal(id):
"""Get principal meta-data.
- Returns an object of type IPrincipal for the given principal
- id. A NotFoundError is raised if the principal cannot be
+ Returns an object of type `IPrincipal` for the given principal
+ id. A ``NotFoundError`` is raised if the principal cannot be
found.
Note that the id has three parts, separated by tabs. The
@@ -73,7 +75,7 @@
class IPluggableAuthenticationService(IAuthenticationService, IContainer):
- """An AuthenticationService that can contain multiple pricipal sources.
+ """An `AuthenticationService` that can contain multiple pricipal sources.
"""
def __setitem__(id, principal_source):
@@ -81,9 +83,9 @@
__setitem__.precondition = ItemTypePrecondition(IPrincipalSource)
def removePrincipalSource(id):
- """Remove a PrincipalSource.
+ """Remove a `PrincipalSource`.
- If id is not present, raise KeyError.
+ If id is not present, raise ``KeyError``.
"""
@@ -95,7 +97,7 @@
""" Return a principal matching the login/password pair.
If there is no principal in this principal source which
- matches the login/password pair, return None.
+ matches the login/password pair, return ``None``.
Note: A login is different than an id. Principals may have
logins that differ from their id. For example, a user may
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/principalannotation/__init__.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/principalannotation/__init__.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/principalannotation/__init__.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -11,10 +11,11 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Implementation of IPrincipalAnnotationService.
+"""Implementation of `IPrincipalAnnotationService`.
$Id$
"""
+__docformat__ = 'restructuredtext'
# TODO: register service as adapter for IAnnotations on service activation
# this depends on existence of LocalAdapterService, so once that's done
@@ -35,7 +36,7 @@
from zope.app.location import Location
class PrincipalAnnotationService(Persistent, Contained):
- """Stores IAnnotations for IPrinicipals.
+ """Stores `IAnnotations` for `IPrinicipals`.
The service ID is 'PrincipalAnnotation'.
"""
@@ -48,14 +49,14 @@
def getAnnotations(self, principal):
"""Return object implementing IAnnotations for the given principal.
- If there is no IAnnotations it will be created and then returned.
+ If there is no `IAnnotations` it will be created and then returned.
"""
return self.getAnnotationsById(principal.id)
def getAnnotationsById(self, principalId):
- """Return object implementing IAnnotations for the given principal.
+ """Return object implementing `IAnnotations` for the given principal.
- If there is no IAnnotations it will be created and then returned.
+ If there is no `IAnnotations` it will be created and then returned.
"""
annotations = self.annotations.get(principalId)
@@ -67,7 +68,7 @@
return annotations
def hasAnnotations(self, principal):
- """Return boolean indicating if given principal has IAnnotations."""
+ """Return boolean indicating if given principal has `IAnnotations`."""
return principal.id in self.annotations
@@ -112,7 +113,8 @@
class AnnotationsForPrincipal(object):
- """Adapter from IPrincipal to IAnnotations for a PrincipalAnnotationService.
+ """Adapter from IPrincipal to `IAnnotations` for a
+ `PrincipalAnnotationService`.
Register an *instance* of this class as an adapter.
"""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/principalannotation/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/principalannotation/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/principalannotation/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -11,27 +11,32 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Service for storing IAnnotations for principals.
+"""Service for storing `IAnnotations` for principals.
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import Interface
class IPrincipalAnnotationService(Interface):
- """Stores IAnnotations for IPrinicipals."""
+ """Stores `IAnnotations` for `IPrinicipals`."""
def getAnnotations(principal):
- """Return object implementing IAnnotations for the given IPrinicipal.
+ """Return object implementing `IAnnotations` for the given
+ `IPrinicipal`.
- If there is no IAnnotations it will be created and then returned.
+ If there is no `IAnnotations` it will be created and then returned.
"""
def getAnnotationsById(principalId):
- """Return object implementing IAnnotations for the given prinicipal id.
+ """Return object implementing `IAnnotations` for the given
+ `prinicipalId`.
- If there is no IAnnotations it will be created and then returned.
+ If there is no `IAnnotations` it will be created and then returned.
"""
def hasAnnotations(principal):
- """Return boolean indicating if given IPrincipal has IAnnotations."""
+ """Return boolean indicating if given `IPrincipal` has
+ `IAnnotations`."""
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/publication/browser.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/publication/browser.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/publication/browser.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -18,6 +18,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.publication.publicationtraverse \
import PublicationTraverser as PublicationTraverser_
from zope.app.publication.http import BaseHTTPPublication
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/publication/ftp.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/publication/ftp.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/publication/ftp.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.publication.zopepublication import ZopePublication
from zope.component import queryView
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/publication/http.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/publication/http.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/publication/http.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.app.publication.zopepublication import ZopePublication
from zope.component import getView
from zope.publisher.publish import mapply
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/publication/httpfactory.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/publication/httpfactory.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/publication/httpfactory.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.interface import implements
from zope.publisher.http import HTTPRequest
from zope.publisher.browser import BrowserRequest
@@ -32,13 +34,13 @@
implements(IPublicationRequestFactory)
def __init__(self, db):
- """See zope.app.publication.interfaces.IPublicationRequestFactory"""
+ """See `zope.app.publication.interfaces.IPublicationRequestFactory`"""
self._http = HTTPPublication(db)
self._brower = BrowserPublication(db)
self._xmlrpc = XMLRPCPublication(db)
def __call__(self, input_stream, output_steam, env):
- """See zope.app.publication.interfaces.IPublicationRequestFactory"""
+ """See `zope.app.publication.interfaces.IPublicationRequestFactory`"""
method = env.get('REQUEST_METHOD', 'GET').upper()
if method in _browser_methods:
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/publication/interfaces.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/publication/interfaces.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/publication/interfaces.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,7 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
from zope.interface import implements, Interface
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/publication/publicationtraverse.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/publication/publicationtraverse.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/publication/publicationtraverse.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
from zope.component import queryViewProviding
from zope.publisher.interfaces import NotFound
from types import StringTypes
Modified: Zope3/branches/ZopeX3-3.0/src/zope/app/publication/zopepublication.py
===================================================================
--- Zope3/branches/ZopeX3-3.0/src/zope/app/publication/zopepublication.py 2004-09-02 05:31:25 UTC (rev 27408)
+++ Zope3/branches/ZopeX3-3.0/src/zope/app/publication/zopepublication.py 2004-09-02 07:05:38 UTC (rev 27409)
@@ -15,6 +15,8 @@
$Id$
"""
+__docformat__ = 'restructuredtext'
+
import sys
import logging
from new import instancemethod
@@ -163,7 +165,7 @@
"""Set some useful meta-information on the transaction. This
information is used by the undo framework, for example.
- This method is not part of the IPublication interface, since
+ This method is not part of the `IPublication` interface, since
it's specific to this particular implementation.
"""
txn.setUser(request.principal.id)
More information about the Zope3-Checkins
mailing list