Hi, the definition of your method is wrong. Because the external method is a method of the object which contain it. The correct definition is: def monthRange (self, dt) --On Freitag, Juli 06, 2001 14:57:41 +0200 Gitte Wange <gitte@mmmanager.org> wrote:
Hello,
I am trying to add an external metod (used in a CMF Calendar example) but it fails.
Now I'm not into these external methods (and I am not sure it's the best solution) but I just want to see how this example works.
The method file is named monthRange.py and I have placed it in /usr/local/Zope/Extensions it contains this code: from DateTime import DateTime
def monthRange( dt ): """ Return a pair of DateTime values representing the earliest and latest times in the month in which 'dt' falls. """ y, m, d = dt.year(), dt.month(), dt.day() first = DateTime( y, m, 1 ) last = first - 1 + DateTime._month_len[dt.isLeapYear() ][ m ] return first.earliestTime(), last.latestTime()
I have filled in these values in the add form in ZMI: Id: monthRange Module Name: monthRange Function Name: monthRange
I get this error when I try to add it: Error Type: SyntaxError Error Value: invalid syntax
And this traceback: Traceback (innermost last): File /usr/local/Zope-2.3.2-linux2-x86/lib/python/ZPublisher/Publish.py, line 223, in publish_module File /usr/local/Zope-2.3.2-linux2-x86/lib/python/ZPublisher/Publish.py, line 187, in publish File /usr/local/Zope-2.3.2-linux2-x86/lib/python/Zope/__init__.py, line 221, in zpublisher_exception_hook File /usr/local/Zope-2.3.2-linux2-x86/lib/python/ZPublisher/Publish.py, line 171, in publish File /usr/local/Zope-2.3.2-linux2-x86/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: manage_addExternalMethod) File /usr/local/Zope-2.3.2-linux2-x86/lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: manage_addExternalMethod) File /usr/local/Zope-2.3.2-linux2-x86/lib/python/Products/ExternalMethod/Exter nalMethod.py, line 131, in manage_addExternalMethod File /usr/local/Zope-2.3.2-linux2-x86/lib/python/Products/ExternalMethod/Exter nalMethod.py, line 179, in __init__ (Object: monthRange) File /usr/local/Zope-2.3.2-linux2-x86/lib/python/Products/ExternalMethod/Exter nalMethod.py, line 202, in manage_edit (Object: monthRange) File /usr/local/Zope-2.3.2-linux2-x86/lib/python/Products/ExternalMethod/Exter nalMethod.py, line 209, in getFunction (Object: monthRange) File /usr/local/Zope-2.3.2-linux2-x86/lib/python/App/Extensions.py, line 217, in getObject (Info: ('/usr/local/Zope-2.3.2-linux2-x86/Extensions/monthRange.py', 'monthRange')) SyntaxError: (see above)
Well it looks like it finds the file. To me it looks like there is a syntax error in the add of the external method. or is the syntax error in the python code ?
I haven't debugged this kind of scripts before so I hope there is someone who can help me :-)
Regards,
-- Gitte Wange Jensen
Sys Admin, Developer and a lot more MMmanager.org Aps, Denmark
Phone: +45 29 72 79 72 Email: gitte@mmmanager.org Web: www.mmmanager.org
Quote of the day: Unix is user friendly; it's just a little paticular about which users it is friendly to.
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )