FWIW, I've done that now. On Wed, Oct 8, 2008 at 9:43 AM, Philipp von Weitershausen <philipp@weitershausen.de> wrote:
El 8 Oct 2008, a las 14:23 , Sidnei da Silva escribió:
On Wed, Oct 8, 2008 at 8:53 AM, Philipp von Weitershausen <philipp@weitershausen.de> wrote:
Sidnei da Silva wrote:
I'm trying to fix some import errors, which seem to be related to PEP-328.
I'm fixing those errors this way, though I don't know if that's the recommended way of fixing it. Thoughts?
""" try: from DT_Util import parse_params, name_param except ImportError: # See PEP-328 from .DT_Util import parse_params, name_param """
This will generate a SyntaxError in Python 2.4. So unless we *require* Python >= 2.5, this won't work.
Yuck. I hadn't thought of that. Any other suggestions? Like, using zope.documenttemplate? :)
zope.documenttemplate is a crippled version of DocumentTemplate. It doesn't have all features (e.g. it lacks the C extension module) and hasn't been kept up-to-date with respect to bugfixes. So it seems like a good idea to put this clone out of its misery and retire it.
I ultimately suggest going to absolute imports everywhere (at least as long as we have to maintain Python 2.4 compatibility). I realize that DocumentTemplate/DocumentTemplate.py creates a problem. So here's what I suggest:
1. Rename DocumentTemplate/DocumentTemplate.py to, say, DocumentTemplate/DocTemplate.py (feel free to come up with a better name)
2. Introduce absolute imports to DocumentTemplate.DocTemplate everywhere
3. Ensure backwards compatibility by adding the following lines to DocumentTemplate/__init__.py::
import DocumentTemplate.DocTemplate import sys sys.modules['DocumentTemplate.DocumentTemplate'] = DocumentTemplate.DocTemplate
I *think* this should work.
-- Sidnei da Silva Enfold Systems http://enfoldsystems.com Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214