Zoe 2.9.0, Python 2.4.2 ## Script (Python) "ascript" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## root = container.restrictedTraverse('/') objs = root.ZopeFind(container.this(), obj_metatypes=['External Method'], search_sub=1) for path, method in objs: method.reloadIfChanged() print method.title, path return printed ERROR: Exception Type TypeError Exception Value coercing to Unicode: need string or buffer, NoneType found Traceback (innermost last): * Module ZPublisher.Publish, line 113, in publish * Module ZPublisher.mapply, line 88, in mapply * Module ZPublisher.Publish, line 40, in call_object * Module Shared.DC.Scripts.Bindings, line 311, in __call__ * Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec * Module Products.PythonScripts.PythonScript, line 323, in _exec * Module None, line 4, in ascript <PythonScript at /draPlay/ascript> Line 4 * Module Products.ExternalMethod.ExternalMethod, line 154, in reloadIfChanged TypeError: coercing to Unicode: need string or buffer, NoneType found
From ExternalMethod.py:
152: def reloadIfChanged(self): # If the file has been modified since last loaded, force a reload. ==> ts=os.stat(self.filepath())[stat.ST_MTIME] if (not hasattr(self, '_v_last_read') or (ts != self._v_last_read)): self._v_f=self.getFunction(1) self._v_last_read=ts Any idea what is causing this error. Looks to me to be a Python Bug. A bit of Googling shows this error showing up in a number of different contexts. Any suggestions for a workaround?