--- ECHO_content/ECHO_collection.py 2012/01/18 16:57:00 1.310.2.5 +++ ECHO_content/ECHO_collection.py 2011/11/03 11:05:25 1.311 @@ -9,7 +9,11 @@ class ECHO_externalLink contains informa """ - +try: + from reportlab.pdfgen import canvas + from reportlab.lib.pagesizes import A4 +except: + print "PDF generation will not work" import urlparse import string @@ -36,7 +40,6 @@ from Globals import Persistent, package_ from Acquisition import Implicit from Products.ZCatalog.CatalogPathAwareness import CatalogAware from Products.ZCTextIndex.ZCTextIndex import manage_addLexicon -from Acquisition import aq_parent try: from Products.MetaDataProvider.MetaDataClient import MetaDataClient except: @@ -46,11 +49,11 @@ import urllib2 import cgi import smtplib import time -#from Ft.Xml.Domlette import NonvalidatingReader -#from Ft.Xml.Domlette import PrettyPrint, Print -#from Ft.Xml import EMPTY_NAMESPACE -# -#import Ft.Xml.XPath +from Ft.Xml.Domlette import NonvalidatingReader +from Ft.Xml.Domlette import PrettyPrint, Print +from Ft.Xml import EMPTY_NAMESPACE + +import Ft.Xml.XPath import cStringIO import sys @@ -694,8 +697,6 @@ class ECHO_collection(CatalogAware, Fold meta_type='ECHO_collection' default_catalog='resourceCatalog' - rootMetaTypes = ['ECHO_root', 'ECHO_main', 'ECHO_nav'] - # viewClassificationList=viewClassificationListMaster displayTypes=displayTypes @@ -708,11 +709,12 @@ class ECHO_collection(CatalogAware, Fold return crumbs[0][2].getId() p = self + sec = None # descend parents to the root (and remember the last id) - while p is not None and p.meta_type not in self.rootMetaTypes: + while p is not None and p.meta_type != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': sec = p.getId() - p = aq_parent(p.context) + p = p.aq_parent return sec @@ -726,32 +728,13 @@ class ECHO_collection(CatalogAware, Fold sec = None subsec = None # descend parents to the root (and remember the last id) - while p is not None and p.meta_type not in self.rootMetaTypes: + while p is not None and p.meta_type != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': subsec = sec sec = p.getId() - p = aq_parent(p.context) + p = p.aq_parent return subsec - def getHierCrumbs(self): - """returns a list of hierarchical breadcrumbs from self to the ECHO_root""" - # crumb for this object - crumb = {'obj': self, - 'url': self.absolute_url(), - 'label': self.getLabel()} - crumbs = [crumb] - # call the parent's method recursively - parent = aq_parent(self) - if hasattr(parent, 'getHierCrumbs'): - if self.title: - return parent.getHierCrumbs() + crumbs - else: - # if there's no title, skip this level - return parent.getHierCrumbs() - - return crumbs - - def exportImportObjects_html(self,RESPONSE): """ImportObject""" @@ -1151,7 +1134,38 @@ class ECHO_collection(CatalogAware, Fold if RESPONSE is not None: RESPONSE.write("
Done