[Zope3-checkins] CVS: Zope3/src/zope/app/startup - bootstrap.py:1.3.4.2 configure.zcml:1.3.2.1 metaconfigure.py:1.2.4.1 requestfactory.py:1.2.4.1 requestfactoryregistry.py:1.2.4.1 simpleregistry.py:1.2.4.1 sitedefinition.py:1.5.2.1
Sidnei da Silva
sidnei@x3ng.com.br
Tue, 11 Feb 2003 09:42:03 -0500
Update of /cvs-repository/Zope3/src/zope/app/startup
In directory cvs.zope.org:/tmp/cvs-serv18615/src/zope/app/startup
Modified Files:
Tag: paris-copypasterename-branch
bootstrap.py configure.zcml metaconfigure.py requestfactory.py
requestfactoryregistry.py simpleregistry.py sitedefinition.py
Log Message:
Updating from HEAD to make sure everything still works before merging
=== Zope3/src/zope/app/startup/bootstrap.py 1.3.4.1 => 1.3.4.2 ===
--- Zope3/src/zope/app/startup/bootstrap.py:1.3.4.1 Wed Feb 5 11:06:10 2003
+++ Zope3/src/zope/app/startup/bootstrap.py Tue Feb 11 09:41:31 2003
@@ -24,6 +24,8 @@
from zope.app.traversing import traverse, traverseName
from zope.app.publication.zopepublication import ZopePublication
from zope.app.content.folder import RootFolder
+from zope.component.servicenames import Events, HubIds, Subscription
+from zope.component.servicenames import ErrorReports
from zope.app.services.service import ServiceManager
from zope.app.services.service import ServiceConfiguration
from zope.app.services.hub import ObjectHub
@@ -62,11 +64,11 @@
"""
service_manager = ServiceManager()
root_folder.setServiceManager(service_manager)
- name = addConfigureService(root_folder, 'Events', EventService)
- configureService(root_folder, 'Subscription', name)
+ name = addConfigureService(root_folder, Events, EventService)
+ configureService(root_folder, Subscription, name)
- addConfigureService(root_folder, 'HubIds', ObjectHub)
- addConfigureService(root_folder, 'ErrorReportingService',
+ addConfigureService(root_folder, HubIds, ObjectHub)
+ addConfigureService(root_folder, ErrorReports,
ErrorReportingService, copy_to_zlog=True)
addConfigureService(root_folder, 'PrincipalAnnotation', \
PrincipalAnnotationService)
=== Zope3/src/zope/app/startup/configure.zcml 1.3 => 1.3.2.1 ===
--- Zope3/src/zope/app/startup/configure.zcml:1.3 Mon Feb 3 10:08:49 2003
+++ Zope3/src/zope/app/startup/configure.zcml Tue Feb 11 09:41:31 2003
@@ -3,6 +3,12 @@
xmlns:startup="http://namespaces.zope.org/startup">
+ <startup:registerRequestFactory
+ name="HTTPRequestFactory"
+ factory="zope.app.publication.httpfactory"
+ />
+
+
<startup:registerRequestFactory name="BrowserRequestFactory"
publication =
"zope.app.publication.browser.BrowserPublication"
@@ -22,6 +28,14 @@
request = "zope.publisher.ftp.FTPRequest"
/>
+
+ <startup:registerServerType
+ name = "HTTP"
+ factory = "zope.server.http.publisherhttpserver.PublisherHTTPServer"
+ requestFactory="HTTPRequestFactory"
+ logFactory = "zope.server.http.commonhitlogger.CommonHitLogger"
+ defaultPort="8080"
+ defaultVerbose="true" />
<startup:registerServerType
name = "Browser"
=== Zope3/src/zope/app/startup/metaconfigure.py 1.2 => 1.2.4.1 ===
--- Zope3/src/zope/app/startup/metaconfigure.py:1.2 Wed Dec 25 09:13:24 2002
+++ Zope3/src/zope/app/startup/metaconfigure.py Tue Feb 11 09:41:31 2003
@@ -27,10 +27,20 @@
defineSite = SiteDefinition
-def registerRequestFactory(_context, name, publication, request):
- publication = _context.resolve(publication)
- request = _context.resolve(request)
- request_factory = RequestFactory(publication, request)
+def registerRequestFactory(_context, name, request=None, publication=None,
+ factory=None):
+
+ if factory:
+ if request or publication:
+ raise ValuesError(
+ """Can't provide a request or publication (factory) if you
+ provide a (request) factory""")
+ request_factory = _context.resolve(factory)
+
+ else:
+ publication = _context.resolve(publication)
+ request = _context.resolve(request)
+ request_factory = RequestFactory(publication, request)
return [
Action(
=== Zope3/src/zope/app/startup/requestfactory.py 1.2 => 1.2.4.1 ===
--- Zope3/src/zope/app/startup/requestfactory.py:1.2 Wed Dec 25 09:13:24 2002
+++ Zope3/src/zope/app/startup/requestfactory.py Tue Feb 11 09:41:31 2003
@@ -14,28 +14,8 @@
"""ctory.py,v 1.1.2.2 2002/04/02 02:20:40 srichter Exp $
"""
-from zope.interface import Interface
import copy
-
-
-class IRequestFactory(Interface):
- """This is a pure read-only interface, since the values are set through
- a ZCML directive and we shouldn't be able to change them.
- """
-
- def realize(db):
- """Realize the factory by initalizing the publication.
-
- The method returns the realized object.
- """
-
-
- def __call__(input_stream, output_steam, env):
- """Call the Request Factory"""
-
-
-
-
+from zope.app.interfaces.startup import IRequestFactory
class RequestFactory:
"""This class will generically create RequestFactories. This way I do
=== Zope3/src/zope/app/startup/requestfactoryregistry.py 1.2 => 1.2.4.1 ===
--- Zope3/src/zope/app/startup/requestfactoryregistry.py:1.2 Wed Dec 25 09:13:24 2002
+++ Zope3/src/zope/app/startup/requestfactoryregistry.py Tue Feb 11 09:41:31 2003
@@ -16,7 +16,7 @@
"""
from zope.app.interfaces.startup.simpleregistry import ISimpleRegistry
from zope.app.startup.simpleregistry import SimpleRegistry
-from zope.app.startup.requestfactory import IRequestFactory
+from zope.app.interfaces.startup import IPublicationRequestFactoryFactory
class IRequestFactoryRegistry(ISimpleRegistry):
@@ -32,9 +32,16 @@
class RequestFactoryRegistry(SimpleRegistry):
- __implements__ = (IRequestFactoryRegistry,)
+ __implements__ = IRequestFactoryRegistry
-RequestFactoryRegistry = RequestFactoryRegistry(IRequestFactory)
+RequestFactoryRegistry = RequestFactoryRegistry(
+ IPublicationRequestFactoryFactory)
+
registerRequestFactory = RequestFactoryRegistry.register
getRequestFactory = RequestFactoryRegistry.get
+
+# Register our cleanup with Testing.CleanUp to make writing unit tests simpler.
+from zope.testing.cleanup import addCleanUp
+addCleanUp(RequestFactoryRegistry._clear)
+del addCleanUp
=== Zope3/src/zope/app/startup/simpleregistry.py 1.2 => 1.2.4.1 ===
--- Zope3/src/zope/app/startup/simpleregistry.py:1.2 Wed Dec 25 09:13:24 2002
+++ Zope3/src/zope/app/startup/simpleregistry.py Tue Feb 11 09:41:31 2003
@@ -64,6 +64,8 @@
self.objects = {}
self.interface = interface
+ def _clear(self):
+ self.objects.clear()
def register(self, name, object):
'''See ISimpleRegistry'''
@@ -71,17 +73,8 @@
if name in self.objects.keys():
raise ZopeDuplicateRegistryEntryError(name)
- # XXX Find the right Interface tools to do that; unfortunately,
- # I have not found them
- # Check whether the object implements the right interface.
- # Note, that we do *not* know whether the object is an instance
- # or a class (or worse a Persistent class)
- if hasattr(object, '__implements__') and \
- ( self.interface == object.__implements__ or \
- ( type(object.__implements__) in ListTypes and
- self.interface in object.__implements__ ) ):
+ if self.interface.isImplementedBy(object):
self.objects[name] = object
-
else:
raise ZopeIllegalInterfaceError(name, self.interface)
=== Zope3/src/zope/app/startup/sitedefinition.py 1.5 => 1.5.2.1 ===
--- Zope3/src/zope/app/startup/sitedefinition.py:1.5 Tue Jan 28 16:03:10 2003
+++ Zope3/src/zope/app/startup/sitedefinition.py Tue Feb 11 09:41:31 2003
@@ -38,6 +38,7 @@
from zope.app.publication.zopepublication import ZopePublication
from zope.app.browser.undo import ZODBUndoManager
from zope.component import getService
+from zope.component.servicenames import Utilities
from zope.server.taskthreads import ThreadedTaskDispatcher
from zodb.code.module import PersistentModuleImporter
@@ -175,7 +176,7 @@
sys.setcheckinterval(120)
# setup undo fnctionality
- getService(None,"Utilities").provideUtility(
+ getService(None,Utilities).provideUtility(
IUndoManager,
ZODBUndoManager(self._zodb)
)