Re: [Zope-dev] Relative Imports: PEP-328
FWIW, I've done that now. On Wed, Oct 8, 2008 at 9:43 AM, Philipp von Weitershausen <[EMAIL PROTECTED]> 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 >> <[EMAIL PROTECTED]> 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 Systemshttp://enfoldsystems.com Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214 ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Relative Imports: PEP-328
El 8 Oct 2008, a las 14:23 , Sidnei da Silva escribió: > On Wed, Oct 8, 2008 at 8:53 AM, Philipp von Weitershausen > <[EMAIL PROTECTED]> 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. ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Relative Imports: PEP-328
On Wed, Oct 8, 2008 at 8:53 AM, Philipp von Weitershausen <[EMAIL PROTECTED]> 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? :) -- Sidnei da Silva Enfold Systemshttp://enfoldsystems.com Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214 ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Relative Imports: PEP-328
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. ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Relative Imports: PEP-328
On Wed, Oct 8, 2008 at 2:40 AM, Marius Gedminas <[EMAIL PROTECTED]> wrote: > I'd suggest converting it to an absolute import > > from zope.documenttemplate.dt_util import parse_params, name_param So I thought at first. Except there is a problem: Inside 'DocumentTemplate' there's another 'DocumentTemplate' module. So doing: 'from DocumentTemplate.DT_Util import parse_params' ... tries to import DT_Util from the relative module. Then the fix is to do: 'from __future__ import absolute_import' ... except that doesn't work on Python 2.4. So the try: except seems to be the only way around here, unfortunately. > or whatever the equivalent for Zope 2 is (I'm assuming it's Zope 2, > since DT_Util is capitalized). Another option might be to switch this to use zope.documenttemplate. :) -- Sidnei da Silva Enfold Systemshttp://enfoldsystems.com Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214 ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Relative Imports: PEP-328
On Wed, Oct 08, 2008 at 12:14:29AM -0300, 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 > """ I'd suggest converting it to an absolute import from zope.documenttemplate.dt_util import parse_params, name_param or whatever the equivalent for Zope 2 is (I'm assuming it's Zope 2, since DT_Util is capitalized). Marius Gedminas -- My mail reader can beat up your mail reader. signature.asc Description: Digital signature ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] Relative Imports: PEP-328
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 """ -- Sidnei da Silva Enfold Systemshttp://enfoldsystems.com Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214 ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )