[ZCM] [ZC] 1716/ 6 Comment "__bobo_traverse__ and ftp/webdav"
Collector: Zope Bugs, Features,
and Patches ...
zope-coders-admin at zope.org
Wed Mar 2 14:02:41 EST 2005
Issue #1716 Update (Comment) "__bobo_traverse__ and ftp/webdav"
Status Rejected, Zope/bug critical
To followup, visit:
http://www.zope.org/Collectors/Zope/1716
==============================================================
= Comment - Entry #6 by llonchj on Mar 2, 2005 2:02 pm
My apologies,
The problem itself is not related to the contents of the __bobo_traverse__ function instead of his presence.
With __bobo_traverse__ in the code, no FTP/WebDAV is possible. Without __bobo_traverse__ function, FTP/WebDAV is possible.
Is this __bobo_traverse__ bugless and valid for test with FTP/WebDAV?
def __bobo_traverse__(self,REQUEST,name=None):
if hasattr(self,name):
return getattr(self,name)
return None
Thanks and excuse me for my error
________________________________________
= Comment - Entry #5 by mcdonc on Mar 1, 2005 12:22 pm
That will almost certainly do "the wrong thing" (although you don't say what you're trying to do). If you define a __bobo_traverse__ on an object, it must return an object that the Publisher understands by its contract. As you've defined it by passing, it returns None, which the publisher does not understand.
________________________________________
= Comment - Entry #4 by llonchj on Mar 1, 2005 12:16 pm
Can you try this code?
def __bobo_traverse__ (self,REQUEST,name):
pass
________________________________________
= Reject - Entry #3 by tseaver on Mar 1, 2005 11:33 am
Status: Pending => Rejected
The __bobo_traverse__ in your example is buggy:
def __bobo_traverse__(self,REQUEST,name=None):
if hasattr(self,name):
return getattr(self,name)
return self.get(name, None)
The object derives from OFS.Folder.Folder, which has no 'get' method:
zopectl> debug
Starting debugger (the name "app" is bound to the top-level Zope object)
>>> from OFS.Folder import Folder
>>> f = Folder()
>>> f.get
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AttributeError: get
________________________________________
= Comment - Entry #2 by llonchj on Feb 28, 2005 7:07 pm
Attached you will find a file called "MyTest.tgz" that corresponds to a minimalistic product to reproduce a bug.
________________________________________
= Request - Entry #1 by llonchj on Feb 28, 2005 7:06 pm
Uploaded: "MyTest.tgz"
- http://www.zope.org/Collectors/Zope/1716/MyTest.tgz/view
I don't know too much Zope to determine the nature of this error.
<b>It's not possible to add new files using ftp and webdav when a __bobo_traverse__ function
is present in the object.</b>
Attached you will find a file called MyTest.py that corresponds to a minimalistic product to reproduce a bug.
Simply follow the next instructions
0) Install this product,
1) Restart your Zope
2) Take a look at the MyTestProduct.py lines[21:26]
3) Set the MyTestProduct as auto-refresh mode in Control Panel
4) upload a file using FTP or WebDAV
5) Comment(#) __bobo_traverse__ function in file MyTestProduct.py lines[21:26]
6) upload a file using FTP or WebDAV and OOPS!!!
7) Undo comments(#) in __bobo_traverse__ function in file MyTestProduct.py lines[21:26]
8) Goto 4 ;)
Thanks,
==============================================================
More information about the Zope-Collector-Monitor
mailing list