--- ECHO_content/ECHO_collection.py 2009/04/14 16:31:27 1.304
+++ ECHO_content/ECHO_collection.py 2013/08/05 08:20:10 1.310.2.12
@@ -9,11 +9,7 @@ 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
@@ -40,6 +36,8 @@ from Globals import Persistent, package_
from Acquisition import Implicit
from Products.ZCatalog.CatalogPathAwareness import CatalogAware
from Products.ZCTextIndex.ZCTextIndex import manage_addLexicon
+import ECHO_helpers
+from Acquisition import aq_parent
try:
from Products.MetaDataProvider.MetaDataClient import MetaDataClient
except:
@@ -49,14 +47,15 @@ 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
+import logging
try:
from psycopg import libpq
@@ -82,11 +81,13 @@ except:
pass
from ECHO_movie import *
-import vlp_xmlhelpers #TODO: vlp elemente aus echo herausnehmen
+#import vlp_xmlhelpers #TODO: vlp elemente aus echo herausnehmen
import xmlrpclib
import logging
+from ECHO_root import ECHO_root
+
#ersetzt logging.info
def logger(txt,method,txt2):
"""logging"""
@@ -380,7 +381,7 @@ class ECHO_fullText(ZopePageTemplate,ECH
try:
dom=xml.dom.minidom.parseString(self())
except:
- dom=xml.dom.minidom.parseString(self().encode('latin-1'))
+ dom=xml.dom.minidom.parseString(self.utf8ify(self()))
pages=dom.getElementsByTagName('page')
return pages[int(nr)-1].toxml()
@@ -543,6 +544,10 @@ class ECHO_link(ECHO_externalLink):
{'label':'add links config','action':'ECHO_link_addLinksForm'},
)
+ def getMDValueSimpleSearchField(self):
+ """returns value for simple search"""
+ return " ".join([self.getTitle(),self.getDescription()])
+
def ECHO_link_addLinksForm(self):
"""Main configuration"""
@@ -696,11 +701,54 @@ class ECHO_collection(CatalogAware, Fold
meta_type='ECHO_collection'
default_catalog='resourceCatalog'
+ rootMetaTypes = ['ECHO_root', 'ECHO_main', 'ECHO_nav']
+
# viewClassificationList=viewClassificationListMaster
displayTypes=displayTypes
path="/mpiwg/online/permanent/shipbuilding"
+ def getSection(self, crumbs=None):
+ """returns the current section name"""
+ # use breadcrumbs if available
+ if crumbs is not None and len(crumbs) > 0:
+ 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:
+ sec = p.getId()
+ p = aq_parent(p.context)
+
+ return sec
+
+ def getSubSection(self, crumbs=None):
+ """returns the current subsection name"""
+ # use breadcrumbs if available
+ if crumbs is not None and len(crumbs) > 1:
+ return crumbs[1][2].getId()
+
+ p = self
+ 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:
+ subsec = sec
+ sec = p.getId()
+ p = aq_parent(p.context)
+
+ return subsec
+
+
+ def getCrumb(self):
+ """returns breadcrumb for this object"""
+ return ECHO_helpers.getCrumb(self)
+
+ def getHierCrumbs(self):
+ """returns a list of hierarchical breadcrumbs from self to the ECHO_root"""
+ return ECHO_helpers.getHierCrumbs(self)
+
def exportImportObjects_html(self,RESPONSE):
"""ImportObject"""
@@ -856,22 +904,66 @@ class ECHO_collection(CatalogAware, Fold
if not urn:
urn=self.absolute_url()
- li="""
Done