Re: [Zope-dev] How do I call an HTMLFile in context provided by apath
Tres Seaver wrote: >Itai Tavor <[EMAIL PROTECTED]> wrote: > >> Dieter Maurer wrote: >> >> >Itai Tavor writes: >> > > P.S Now that aq_parent is working... why can't I do >> > > absolute_url() on DTMLFiles :-( >> >"absolute_url" is provided by the class "OFS.Traverable". >> >Apparently, "DTMLFile" is not derived from it. >> > >> > >> >Dieter >> >> Well, obviously... the question is why nobody saw the need to add >> Traversable to DTMLFiles... > >DTMLFiles are supposed to function as *methods* of their classes; >methods *don't* have their own 'absolute_url', but return the url >of the object on which they are called. DTMLMethods have exactly >the same semantics: > > > >returns the folder/context object's URL, by design. > >Tres. Thanks for replying, and sorry for getting so long to get back to your answer. Had a fun week recovering from a hack attack. Ok, so DTMLFile.absolute_url() should return its container. Except... DTMLFiles simply don't have absolute_url - their own or inherited. They return an attribute error. I was going to post a feature request to the collector, but if absolute_url on a DTMLFile will return the container, then it's pretty useless. Itai -- -- Itai Tavor -- "Je sautille, donc je suis."-- [EMAIL PROTECTED]-- - Kermit the Frog -- -- -- -- "If you haven't got your health, you haven't got anything" -- ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] How do I call an HTMLFile in context provided by apath?
Dieter Maurer wrote: >Itai Tavor writes: > > P.S Now that aq_parent is working... why can't I do absolute_url() on > > DTMLFiles :-( >"absolute_url" is provided by the class "OFS.Traverable". >Apparently, "DTMLFile" is not derived from it. > > >Dieter Well, obviously... the question is why nobody saw the need to add Traversable to DTMLFiles... -- -- Itai Tavor -- "Je sautille, donc je suis."-- [EMAIL PROTECTED]-- - Kermit the Frog -- -- -- -- "If you haven't got your health, you haven't got anything" -- ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] How do I call an HTMLFile in context provided by apath?
Dieter Maurer wrote: >Itai Tavor writes: > > I have a method that receives a path: > > '/MyApp/SomeSpecialist/some_id/edit_html' and has to call edit_html > > in the context of some_id. If edit_html is a DTML Method, I can do > > this: > > > > obj = REQUEST.traverse(path) >I would use "restrictedTraverse" instead of "REQUEST.traverse" >as it uses less magic. Thanks for the tip... I thought restrictedTraverse is slower because it has to do security checks? > > ... > > > > But when edit_html is an HTMLFile in a Python Product, obj.aq_parent > > doesn't work. >Why not? It causes this exception: Error Type: AttributeError Error Value: edit_htmlaq_parent > >This would mean that either your product is not derived >from ExtensionClass.Base or that "HTMLFile" is not derived >from "Acquisition.Implicit". My product inherit does have implicit acquisition. But HTMLFile doesn't - that's the whole problem. Replacing HTMLFile with DTMLFile solves the problem, as DTMLFile derives from Acquisition.Explicit. Thanks for pointing me in the right direction. P.S Now that aq_parent is working... why can't I do absolute_url() on DTMLFiles :-( -- -- Itai Tavor -- "Je sautille, donc je suis."-- [EMAIL PROTECTED]-- - Kermit the Frog -- -- "What he needs now is understanding... and a confederate victory" -- -- Dr. Jacobi, Twin Peaks -- ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )