version 1.33, 2005/01/18 15:40:03
|
version 1.37, 2005/01/31 11:15:50
|
Line 4 import socket
|
Line 4 import socket
|
import urllib |
import urllib |
import string |
import string |
import xml.dom.minidom |
import xml.dom.minidom |
from types import * |
import types |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from OFS.SimpleItem import SimpleItem |
from OFS.SimpleItem import SimpleItem |
from Globals import package_home |
from Globals import package_home |
Line 37 class ECHO_basis:
|
Line 37 class ECHO_basis:
|
"""showrdf""" |
"""showrdf""" |
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') |
self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') |
ret="""<?xml version="1.0" encoding="utf-8"?>\n<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ECHONAVIGATION="http://www.echo.eu/rdf#">\n""" |
ret="""<?xml version="1.0" encoding="utf-8"?>\n<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ECHONAVIGATION="http://www.echo.eu/rdf#">\n""" |
ret+=self.getRDF(urn="echo:colllectionroot")+"\n" |
|
|
ret+=self.getRDF(urn="echo:collectionroot")+"\n" |
|
|
|
|
ret+="""</RDF:RDF>""" |
ret+="""</RDF:RDF>""" |
return ret |
return ret |
Line 95 class ECHO_basis:
|
Line 97 class ECHO_basis:
|
|
|
def getTitle(self): |
def getTitle(self): |
"""title""" |
"""title""" |
|
return self.decode(self.title) |
try: |
try: |
return self.title.encode('utf-8','ignore') |
return self.title.encode('utf-8','ignore') |
except: |
except: |
Line 103 class ECHO_basis:
|
Line 106 class ECHO_basis:
|
|
|
def getLabel(self): |
def getLabel(self): |
"""title""" |
"""title""" |
|
|
|
return self.decode(self.label) |
try: |
try: |
return self.label.encode('utf-8','ignore') |
return self.label.encode('utf-8','ignore') |
except: |
except: |
Line 310 class ECHO_basis:
|
Line 315 class ECHO_basis:
|
|
|
def toList(field): |
def toList(field): |
"""Einzelfeld in Liste umwandeln""" |
"""Einzelfeld in Liste umwandeln""" |
if type(field)==StringType: |
if type(field)==types.StringType: |
return [field] |
return [field] |
else: |
else: |
return field |
return field |
Line 388 def getSubCols(self, sortfield="weight",
|
Line 393 def getSubCols(self, sortfield="weight",
|
def sortfnc(sortfield,x,y): |
def sortfnc(sortfield,x,y): |
xa=x[1].getMDValue(sortfield) |
xa=x[1].getMDValue(sortfield) |
ya=y[1].getMDValue(sortfield) |
ya=y[1].getMDValue(sortfield) |
print xa,ya |
#print xa,ya |
return cmp(xa,ya) |
return cmp(xa,ya) |
|
|
sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y)) |
sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y)) |
Line 407 def getSubCols(self, sortfield="weight",
|
Line 412 def getSubCols(self, sortfield="weight",
|
"""nothing""" |
"""nothing""" |
|
|
tmplist=[] |
tmplist=[] |
|
|
for x in ids: |
for x in ids: |
if hasattr(x,sortfield): |
if hasattr(x,sortfield): |
try: |
try: |
|
tmp=int(getattr(x,sortfield)) |
x=int(x) |
|
except: |
except: |
"""nothing""" |
|
tmp=getattr(x,sortfield) |
tmp=getattr(x,sortfield) |
|
|
else: |
else: |
tmp=10000000 |
tmp=10000000 |
|
|
tmplist.append((tmp,x)) |
tmplist.append((tmp,x)) |
|
|
if not sortFieldMD: |
if not sortFieldMD: |
Line 583 def checkDiffs(self,metadict):
|
Line 589 def checkDiffs(self,metadict):
|
def zptFile(self, path, orphaned=False): |
def zptFile(self, path, orphaned=False): |
"""returns a page template file from the product""" |
"""returns a page template file from the product""" |
if orphaned: |
if orphaned: |
# unusual case (only for macro templates) |
# unusual case |
pt=PageTemplateFile(os.path.join(package_home(globals()), path)) |
pt=PageTemplateFile(os.path.join(package_home(globals()), path)) |
else: |
else: |
pt=PageTemplateFile(os.path.join(package_home(globals()), path)).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()), path)).__of__(self) |
Line 591 def zptFile(self, path, orphaned=False):
|
Line 597 def zptFile(self, path, orphaned=False):
|
|
|
|
|
def findObjectPath(startobject, filename): |
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: |
if startobject is None: |
return None |
return None |
paths = filename.split('/') |
paths = filename.split('/') |
Line 609 def zptObjectOrFile(self, filename, loca
|
Line 615 def zptObjectOrFile(self, filename, loca
|
"""returns a page template instance or a file from the product""" |
"""returns a page template instance or a file from the product""" |
# look for an object called path |
# look for an object called path |
pt = findObjectPath(self, filename) |
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 |
# get a ZPT file |
pt = zptFile(self, localdir+'/'+filename, orphaned=orphaned) |
pt = zptFile(self, localdir+'/'+filename, orphaned=orphaned) |
return pt |
return pt |