--- ECHO_content/ECHO_helpers.py 2005/01/18 15:40:03 1.33 +++ ECHO_content/ECHO_helpers.py 2005/01/19 19:38:55 1.34 @@ -4,7 +4,7 @@ import socket import urllib import string import xml.dom.minidom -from types import * +import types from Products.PageTemplates.PageTemplateFile import PageTemplateFile from OFS.SimpleItem import SimpleItem from Globals import package_home @@ -310,7 +310,7 @@ class ECHO_basis: def toList(field): """Einzelfeld in Liste umwandeln""" - if type(field)==StringType: + if type(field)==types.StringType: return [field] else: return field @@ -583,7 +583,7 @@ def checkDiffs(self,metadict): def zptFile(self, path, orphaned=False): """returns a page template file from the product""" if orphaned: - # unusual case (only for macro templates) + # unusual case pt=PageTemplateFile(os.path.join(package_home(globals()), path)) else: pt=PageTemplateFile(os.path.join(package_home(globals()), path)).__of__(self) @@ -591,7 +591,7 @@ def zptFile(self, path, orphaned=False): def findObjectPath(startobject, filename): - """returns the object with the filename starting at startobject""" + """returns the object with the name filename starting at startobject""" if startobject is None: return None paths = filename.split('/') @@ -609,7 +609,8 @@ def zptObjectOrFile(self, filename, loca """returns a page template instance or a file from the product""" # look for an object called path pt = findObjectPath(self, filename) - if pt is None: + # the object should also not be a python function + if (pt is None) or isinstance(pt, types.FunctionType): # get a ZPT file pt = zptFile(self, localdir+'/'+filename, orphaned=orphaned) return pt