[Zope-dev] Zope bug (w/ patch): hard coded Unix separator in special_dtml.py

Yves-Eric Martin yemartin@garage.co.jp
Fri, 21 Jul 2000 16:52:11 +0900


    Hello Zopistas,

    When trying to figure out why our Product zzLocale was behaving
strangely under Windows, I found that the raw attribute of management
screens was weird (had a unix separator '/' before the template name),
and I traced it back to what I believe is a bug in Zope:


In lib/python/App/special_dtml.py, we have:


>     def __init__(self,name,_prefix=None, **kw):
>         if _prefix is None: _prefix=SOFTWARE_HOME
>         elif type(_prefix) is not type(''):
>             _prefix=Common.package_home(_prefix)
> 
>         args=(self, '%s/%s.dtml' % (_prefix,name))
                         ^
                       hard-coded unix separator

>         if not kw.has_key('__name__'): kw['__name__']=name
>         apply(HTMLFile.inheritedAttribute('__init__'),args,kw)




    I think this should rather be (tested and working patch):


>         args=(self, os.path.join(_prefix, name + '.dtml'))



    Does that sound right to you? If no one disagrees, I'll fill a bug
report w/ patch in the Collector.



-- 
Yves-Eric Martin
Digital Garage Inc.
yemartin@garage.co.jp