[Zope-dev] Re: ZPatterns: __getitem__ on a DataSkin instance

Steve Spicklemire steve@spvi.com
Fri, 5 Jan 2001 16:37:29 -0500 (EST)


Hi Steve,

   Hmm.. is the 'id' of your PythonScript also getattr?

thanks,
-steve

>>>>> "Steve" == Steve Alexander <steve@cat-box.net> writes:

    Steve> Steve Alexander wrote:

    >> Let's say I have a DataSkin-derived ZClass that has the
    >> attribute "forename" (in a dataskin attribute propertysheet).
    >> 
    >> If I get an instance of this ZClass from the ZODB (set up to
    >> use a Folder w/ customizer suppport), I can refer to the
    >> "forename" attribute using <dtml-var "this()['forename']">.
    >> 
    >> However, if I get an instance of the same class from a
    >> Specialist, <dtml-var "this()['forename']"> gives me
    >> 
    >> Error Type: AttributeError Error Value: __getitem__
    >> 
    >> Any idea why there's the difference?
    >> 
    >> Can the latter case be fixed?

    Steve> A workaround, using the ever-flexible skinscript:

    Steve> I've defined __getitem__ through skinscript and a
    Steve> PythonScript.

    Steve> SkinScript: WITH SELF COMPUTE __getitem__=getattr

    Steve> PythonScript: parameter list: index

    Steve>    return getattr(index)


    Steve> -- Steve Alexander Software Engineer Cat-Box limited
    Steve> http://www.cat-box.net



    Steve> _______________________________________________ Zope-Dev
    Steve> maillist - Zope-Dev@zope.org
    Steve> http://lists.zope.org/mailman/listinfo/zope-dev ** No cross
    Steve> posts or HTML encoding!  ** (Related lists -
    Steve> http://lists.zope.org/mailman/listinfo/zope-announce
    Steve> http://lists.zope.org/mailman/listinfo/zope )