SVN: r25826 - trunk/quixote
David Binger <dbinger-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]> Wed, 5 Jan 2005 11:22:24 -0500
| Newsgroups | gmane.comp.web.quixote.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: dbinger
Date: 2005-01-05 08:51:15 -0500 (Wed, 05 Jan 2005)
New Revision: 25826
Modified:
trunk/quixote/publish.py
Log:
Make publisher check that root_directory has a _q_traverse method, instead of
checking that it is a Directory instance.
Modified: trunk/quixote/publish.py
===================================================================
--- trunk/quixote/publish.py 2005-01-05 13:33:33 UTC (rev 25825)
+++ trunk/quixote/publish.py 2005-01-05 13:51:15 UTC (rev 25826)
@@ -9,7 +9,6 @@
import urlparse
import cgitb
-from quixote.directory import Directory
from quixote.errors import PublishError, format_publish_error
from quixote import util
from quixote.config import Config
@@ -57,7 +56,8 @@
Instance attributes:
root_directory : Directory
the root directory that will be searched for objects to fulfill
- each request
+ each request. This can be any object with a _q_traverse method
+ that acts like Directory._q_traverse.
logger : DefaultLogger
controls access log and error log behavior
config : Config
@@ -88,9 +88,10 @@
raise RuntimeError, "only one instance of Publisher allowed"
_publisher = self
- if not isinstance(root_directory, Directory):
- raise TypeError('Directory instance expected, got %r' %
- root_directory)
+ if not callable(getattr(root_directory, '_q_traverse')):
+ raise TypeError(
+ 'Expected something with a _q_traverse method, got %r' %
+ root_directory)
self.root_directory = root_directory
self._request = None