--- ECHO_content/ECHO_collection.py 2013/05/17 06:20:22 1.310.2.11 +++ 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,8 +40,6 @@ 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: @@ -47,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 @@ -81,13 +83,11 @@ 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""" @@ -544,10 +544,6 @@ 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""" @@ -701,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 @@ -715,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 @@ -733,21 +728,12 @@ 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 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): @@ -924,40 +910,6 @@ class ECHO_collection(CatalogAware, Fold return ret+"" - def getExportAsJSON(self,REQUEST=None): - import json - ret = self.getExport() - - if REQUEST: - REQUEST.response.setHeader("Content-type", "text/json; charset=utf-8") - - return json.dumps(ret) - - def getExport(self,REQUEST=None): - - """JSON export collection content""" - import json - ret={} - #contents=self.ZopeFind(self,obj_metatypes=['ECHO_group','ECHO_resource','ECHO_collection']) - contents=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) - - ret['description']=self.getDescription(); - ret['title']=self.getTitle(); - ret['label']=self.getLabel(); - ret['content']=[] - ret['echo_path']=self.absolute_url().replace(self.echo_pages.absolute_url(),'') - - - for content in contents: - - ret['content'].append(content[1].getDRI(type="mpiwg")) - - return ret - - - - - def changeLabels(self): """change form""" @@ -1126,18 +1078,39 @@ class ECHO_collection(CatalogAware, Fold if RESPONSE is not None: RESPONSE.redirect('manage_main') - - def changeViewerForm(self): + def changeViewerTemplateSetsForm(self): """change the viewer template set""" - pt=zptFile(self, 'zpt/changeECHOViewer') + pt=zptFile(self, 'zpt/changeViewerTemplateSet') return pt() - + + def getViewerTemplateSets(self,obj_ids=None,RESPONSE=None): + """Get the ViewerTemplateSet title for configuration""" + ret=[] + + try: + viewerTemplateSets=self.ZopeFind(self.viewerTemplateSets,obj_metatypes=['OSAS_viewerTemplateSet'],obj_ids=obj_ids)#assumes viewerTemplateSets folder somewhere in the hierarchie. + + for viewerTemplateSet in viewerTemplateSets: + ret.append((viewerTemplateSet[1].title,viewerTemplateSet[0],viewerTemplateSet[1])) + + return ret + + except: + return [('no ViewerTemplateSetfolders','')] + def getTextToolsField(self,name,default=''): - """Lese text tool field der Collection not implemented yet!""" + """Lese viewerTemplateSet der Collection not implemented yet!""" return default + def isSelectedViewerTemplateSet(self,obj,id): + """is ausgewaehlt""" + + if self.REQUEST['viewerTemplateSet']==id: + return 1 + else: + return None def changeViewer(self,newViewer,REQUEST=None,RESPONSE=None): """changes all ressources to the newViewer""" @@ -1161,7 +1134,38 @@ class ECHO_collection(CatalogAware, Fold if RESPONSE is not None: RESPONSE.write("
Done