[Zope-dev] Relative Imports: PEP-328

Sidnei da Silva sidnei at enfoldsystems.com
Tue Oct 14 18:13:02 EDT 2008


FWIW, I've done that now.

On Wed, Oct 8, 2008 at 9:43 AM, Philipp von Weitershausen
<philipp at 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 at 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


More information about the Zope-Dev mailing list