|
|
| version 1.11, 2003/10/11 16:44:23 | version 1.19, 2004/03/19 22:17:01 |
|---|---|
| Line 1 | Line 1 |
| # Methoden und Classen zum Hinzufuegen von Dokumenten | # Methoden und Classen zum Hinzufuegen von Dokumenten |
| from OSAS_helpers import readArchimedesXML, getISO, getText | |
| import os | |
| import xml.dom.minidom | import xml.dom.minidom |
| from Products.ECHO_content import ECHO_collection | from Products.ECHO_content import ECHO_collection |
| import urllib | import urllib |
| Line 11 from AccessControl import ClassSecurityI | Line 14 from AccessControl import ClassSecurityI |
| from Globals import InitializeClass | from Globals import InitializeClass |
| from Products.PageTemplates.PageTemplateFile import PageTemplateFile | from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
| from Products.PageTemplates.PageTemplate import PageTemplate | from Products.PageTemplates.PageTemplate import PageTemplate |
| import archive # check if this is necessary | |
| class OSAS_add_Document(Folder): | class OSAS_add_Document(Folder): |
| """Hinzufuegen eines Dokumentes zum Storage""" | """Hinzufuegen eines Dokumentes zum Storage""" |
| Line 31 class OSAS_add_Document(Folder): | Line 35 class OSAS_add_Document(Folder): |
| security.declarePublic('add_Document_config') | security.declarePublic('add_Document_config') |
| def add_Document_config(self): | def add_Document_config(self): |
| """Main configuration""" | """Main configuration""" |
| pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_addDocument.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addDocument.zpt').__of__(self) |
| return pt() | return pt() |
| security.declarePublic('change_OSAS_add_Document') | security.declarePublic('change_OSAS_add_Document') |
| Line 80 class OSAS_add_Document(Folder): | Line 84 class OSAS_add_Document(Folder): |
| def manage_AddOSAS_add_DocumentForm(self): | def manage_AddOSAS_add_DocumentForm(self): |
| """interface for adding the OSAS_add_Metadata""" | """interface for adding the OSAS_add_Metadata""" |
| pt=PageTemplateFile('Products/OSA_system/AddOSAS_document.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_document.zpt').__of__(self) |
| return pt() | return pt() |
| def manage_AddOSAS_add_Document(self,id,RESPONSE=None): | def manage_AddOSAS_add_Document(self,id,RESPONSE=None): |
| Line 113 class OSAS_add_Text(Folder): | Line 117 class OSAS_add_Text(Folder): |
| security.declarePublic('add_Text_config') | security.declarePublic('add_Text_config') |
| def add_Text_config(self): | def add_Text_config(self): |
| """Main configuration""" | """Main configuration""" |
| pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_addText.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addText.zpt').__of__(self) |
| return pt() | return pt() |
| security.declarePublic('change_OSAS_add_Text') | security.declarePublic('change_OSAS_add_Text') |
| Line 132 class OSAS_add_Text(Folder): | Line 136 class OSAS_add_Text(Folder): |
| return OSAS_add.addText2(self) | return OSAS_add.addText2(self) |
| def manage_AddOSAS_add_TextForm(self): | def manage_AddOSAS_add_TextForm(self): |
| """interface for adding the OSAS_add_Metadata""" | """interface for adding the OSAS_add_Metadata""" |
| pt=PageTemplateFile('Products/OSA_system/AddOSAS_text.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_text.zpt').__of__(self) |
| return pt() | return pt() |
| def manage_AddOSAS_add_Text(self,id,RESPONSE=None): | def manage_AddOSAS_add_Text(self,id,RESPONSE=None): |
| Line 211 class OSAS_add_contextData(Folder): | Line 215 class OSAS_add_contextData(Folder): |
| urllib.urlopen(self.REQUEST['SERVER_URL']+path+"/index.meta") | urllib.urlopen(self.REQUEST['SERVER_URL']+path+"/index.meta") |
| except: | except: |
| return "index.meta file has to exist!" | return self.REQUEST['SERVER_URL']+path+"/index.meta file has to exist!" |
| links=[(path,'standard storage')] | links=[(path,'standard storage')] |
| links+=OSAS_show.readContexts(path) # auslesen von contexten für den link | links+=OSAS_show.readContexts(path) # auslesen von contexten für den link |
| #print "LINK",links | #print "LINK",links |
| #return links | |
| self.REQUEST.SESSION['links']=links | self.REQUEST.SESSION['links']=links |
| pt=PageTemplateFile('Products/OSA_system/contextDataMain.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/contextDataMain.zpt').__of__(self) |
| return pt() | return pt() |
| def addContextData2(self,path,collection,context,science,practice,source_type,period,link,label,description,content_type,responsible,credits): | def addContextData2(self,path,collection,context,science,practice,source_type,period,link,label,description,content_type,responsible,weight,credits=None): |
| """Hinzufuegen der Resource""" | """Hinzufuegen der Resource""" |
| splitted=path.split("/") | splitted=path.split("/") |
| #print "BLU" | |
| id=splitted[len(splitted)-1] | id=splitted[len(splitted)-1] |
| title=splitted[len(splitted)-1] | title=splitted[len(splitted)-1] |
| metalink=self.REQUEST['SERVER_URL']+path+"/index.meta" | metalink=self.REQUEST['SERVER_URL']+path+"/index.meta" |
| #link=TOBEDONE" | #link=TOBEDONE" |
| """Hinzufügen der Ressource""" | """Hinzufügen der Ressource""" |
| exec("collection_object=self"+collection) | exec("collection_object=self"+collection) |
| ECHO_collection.manage_AddECHO_resource(collection_object,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,link,metalink,credits,RESPONSE=None) | ECHO_collection.manage_addECHO_resource(collection_object,id,title,label,description,content_type,responsible,link,metalink,credits,weight,RESPONSE=None) |
| #print "HI5" | |
| try: | |
| getattr(collection_object,id).ECHO_getResourceMD() | getattr(collection_object,id).ECHO_getResourceMD() |
| except: | |
| """nothing""" | |
| #return "BLUByy" | |
| return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path) | return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path) |
| manage_options = Folder.manage_options+( | manage_options = Folder.manage_options+( |
| Line 248 class OSAS_add_contextData(Folder): | Line 257 class OSAS_add_contextData(Folder): |
| def add_contextData_config(self): | def add_contextData_config(self): |
| """Main configuration""" | """Main configuration""" |
| pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_add_contextData.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_add_contextData.zpt').__of__(self) |
| return pt() | return pt() |
| Line 260 class OSAS_add_contextData(Folder): | Line 269 class OSAS_add_contextData(Folder): |
| def manage_AddOSAS_add_contextDataForm(self): | def manage_AddOSAS_add_contextDataForm(self): |
| """interface for adding the OSAS_add_Metadata""" | """interface for adding the OSAS_add_Metadata""" |
| pt=PageTemplateFile('Products/OSA_system/AddOSAS_contextData.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_contextData.zpt').__of__(self) |
| return pt() | return pt() |
| def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None): | def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None): |
| Line 292 class OSAS_add_Presentation(Folder): | Line 301 class OSAS_add_Presentation(Folder): |
| security.declarePublic('add_Presentation_config') | security.declarePublic('add_Presentation_config') |
| def add_Presentation_config(self): | def add_Presentation_config(self): |
| """Main configuration""" | """Main configuration""" |
| pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_addPresentation.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addPresentation.zpt').__of__(self) |
| return pt() | return pt() |
| security.declarePublic('change_OSAS_add_Presentation') | security.declarePublic('change_OSAS_add_Presentation') |
| Line 312 class OSAS_add_Presentation(Folder): | Line 321 class OSAS_add_Presentation(Folder): |
| def manage_AddOSAS_add_PresentationForm(self): | def manage_AddOSAS_add_PresentationForm(self): |
| """interface for adding the OSAS_add_Metadata""" | """interface for adding the OSAS_add_Metadata""" |
| pt=PageTemplateFile('Products/OSA_system/AddOSAS_presentation.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_presentation.zpt').__of__(self) |
| return pt() | return pt() |
| def manage_AddOSAS_add_Presentation(self,id,RESPONSE=None): | def manage_AddOSAS_add_Presentation(self,id,RESPONSE=None): |
| Line 326 def manage_AddOSAS_add_Presentation(self | Line 335 def manage_AddOSAS_add_Presentation(self |
| InitializeClass(OSAS_add_Presentation) | InitializeClass(OSAS_add_Presentation) |
| class OSAS_combineTextImage(Folder): | class OSAS_combineTextImage(Folder): |
| """Hinzufügen der Combine Text und Image""" | """Hinzufüge der Combine Text und Image""" |
| security=ClassSecurityInfo() | security=ClassSecurityInfo() |
| def __init__(self,id): | def __init__(self,id): |
| Line 344 class OSAS_combineTextImage(Folder): | Line 353 class OSAS_combineTextImage(Folder): |
| security.declarePublic('combineTextImage_config') | security.declarePublic('combineTextImage_config') |
| def combineTextImage_config(self): | def combineTextImage_config(self): |
| """Main configuration""" | """Main configuration""" |
| pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_combineTextImage.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_combineTextImage.zpt').__of__(self) |
| return pt() | return pt() |
| security.declarePublic('change_OSAS_combineTextImage') | security.declarePublic('change_OSAS_combineTextImage') |
| Line 357 class OSAS_combineTextImage(Folder): | Line 366 class OSAS_combineTextImage(Folder): |
| security.declarePublic('combineTextImage') | security.declarePublic('combineTextImage') |
| def combineTextImage(self,path): | def combineTextImage(self,path): |
| """Hinzufügen der Presenationsinformation""" | """Hinzufügen der Presenationsinformation""" |
| return OSAS_add.combineTextImage(self,path) | """gibt input formular zur erstellung des texttools meta tag aus""" |
| files = os.listdir(path) | |
| texts=[] | |
| imagefolders=[] | |
| presentationfolders=[] | |
| splitted=path.split("/") | |
| externxml=readArchimedesXML(splitted[len(splitted)-1]) | |
| for filename in files: | |
| #print "FN",filename | |
| if archive.isdigilib2(path+"/"+filename): | |
| imagefolders.append(filename) | |
| if archive.isFullText(path,filename): | |
| #print "HI" | |
| texts.append(filename) | |
| if archive.isPresentation(path,filename): | |
| presentationfolders.append(filename) | |
| dom=xml.dom.minidom.parse(path+"/index.meta") | |
| try: | |
| filelanguage=archive.getText(dom.getElementsByTagName('lang')[0].childNodes) | |
| except: | |
| filelanguage="" | |
| self.REQUEST.SESSION['isolist']=getISO() | |
| tmp=getISO().keys() | |
| tmp.sort() | |
| self.REQUEST.SESSION['isolistsort']=tmp | |
| self.REQUEST.SESSION['path']=path | |
| self.REQUEST.SESSION['texts']=texts | |
| self.REQUEST.SESSION['imagefolders']=imagefolders | |
| self.REQUEST.SESSION['presentationfolders']=presentationfolders | |
| self.REQUEST.SESSION['filelanguage']=filelanguage | |
| self.REQUEST.SESSION['externxml']=externxml | |
| newtemplate=PageTemplateFile('Products/OSA_system/zpt/ImageandText').__of__(self) | |
| return newtemplate() | |
| def getProjects(self,obj_ids=None): | |
| """Get the Project title for configuration""" | |
| ret=[] | |
| print "HI" | |
| try: | |
| projects=self.ZopeFind(self.projects,obj_metatypes=['OSAS_project'],obj_ids=obj_ids)#assumes projects folder somewhere in the hierarchie. | |
| print "pr" | |
| for project in projects: | |
| ret.append((project[1].title,project[0],project[1])) | |
| print ret | |
| return ret | |
| except: | |
| return [('no Projectfolders','')] | |
| def getTextToolsField(self,path,name,default=''): | |
| """Lese Textoolsfelder aus index.meta im path aus""" | |
| try: | |
| dom=xml.dom.minidom.parse(path+"/index.meta") | |
| node=dom.getElementsByTagName('texttool')[0] #getNode | |
| subnode=node.getElementsByTagName(name)[0] | |
| print getText(subnode.childNodes) | |
| return getText(subnode.childNodes) | |
| except: | |
| return default | |
| def combineTextImage2(self,path): | def combineTextImage2(self,path): |
| """Eingabe von Metadateninformationen""" | """Eingabe von Metadateninformationen""" |
| Line 369 class OSAS_combineTextImage(Folder): | Line 445 class OSAS_combineTextImage(Folder): |
| writeToContext(path,linkViewerEnvironment,"ECHO standard environment") | writeToContext(path,linkViewerEnvironment,"ECHO standard environment") |
| pt=PageTemplateFile('Products/OSA_system/AddOSAS_combineTextImageFinal.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_combineTextImageFinal.zpt').__of__(self) |
| return pt() | return pt() |
| def isSelectedProject(self,obj,id): | |
| """is ausgewählt""" | |
| if self.REQUEST['project']==id: | |
| return 1 | |
| else: | |
| return None | |
| def writeToContext(path,link,description): | def writeToContext(path,link,description): |
| """Created an additional entry to the index.meta file of path""" | """Created an additional entry to the index.meta file of path""" |
| Line 400 def writeToContext(path,link,description | Line 483 def writeToContext(path,link,description |
| def manage_AddOSAS_combineTextImageForm(self): | def manage_AddOSAS_combineTextImageForm(self): |
| """interface for adding the OSAS_add_Metadata""" | """interface for adding the OSAS_add_Metadata""" |
| pt=PageTemplateFile('Products/OSA_system/AddOSAS_combineTextImage.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_combineTextImage.zpt').__of__(self) |
| return pt() | return pt() |
| def manage_AddOSAS_combineTextImage(self,id,RESPONSE=None): | def manage_AddOSAS_combineTextImage(self,id,RESPONSE=None): |