Annotation of OSAS/OSA_system/OSAS_addfiles.py, revision 1.35
1.1 dwinter 1: # Methoden und Classen zum Hinzufuegen von Dokumenten
2:
1.18 dwinter 3:
1.27 dwinter 4: from OSAS_helpers import readArchimedesXML, getText
1.18 dwinter 5: import os
1.7 dwinter 6: import xml.dom.minidom
1.24 dwinter 7: import re
1.3 dwinter 8: import urllib
1.1 dwinter 9: import OSAS_add
1.9 dwinter 10: import OSAS_show
1.5 dwinter 11: import string
1.1 dwinter 12: from OFS.Folder import Folder
13: from AccessControl import ClassSecurityInfo
14: from Globals import InitializeClass
15: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
16: from Products.PageTemplates.PageTemplate import PageTemplate
1.18 dwinter 17: import archive # check if this is necessary
1.1 dwinter 18:
1.21 dwinter 19:
20: from xml.sax import make_parser
21: from xml.sax.handler import ContentHandler
22:
23: def spaces(depth):
24: """needed in XMLtoTree"""
25: tmp=""
26: k=0
27: while k<2*depth:
28: k+=1
29: tmp=tmp+" "+" "
30: return tmp
31:
32:
1.1 dwinter 33: class OSAS_add_Document(Folder):
34: """Hinzufuegen eines Dokumentes zum Storage"""
35: security=ClassSecurityInfo()
36:
37: def __init__(self,id):
38: """initialize a new instance"""
39: self.id = id
40:
41:
42: meta_type='OSAS_add_Document'
43: manage_options = Folder.manage_options+(
44: {'label':'Main Config','action':'add_Document_config'},
45: )
46:
47:
48:
49: security.declarePublic('add_Document_config')
50: def add_Document_config(self):
51: """Main configuration"""
1.17 dwinter 52: pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addDocument.zpt').__of__(self)
1.1 dwinter 53: return pt()
54:
55: security.declarePublic('change_OSAS_add_Document')
56: def change_OSAS_add_Document(self,RESPONSE=None):
57: """Change"""
58: # self.RootFolderName=RootFolderName
59: if RESPONSE is not None:
60: RESPONSE.redirect('manage_main')
61:
62: security.declarePublic('index_html')
63: def index_html(self):
64: """stantard aufruf"""
1.24 dwinter 65: return OSAS_add.add(self.standardMD,no_upload=1)
1.1 dwinter 66:
67:
68: security.declarePublic('add2')
69: def add2(self):
70: """ anlegen naechster schritt"""
1.24 dwinter 71: return OSAS_add.add2(self.standardMD)
1.1 dwinter 72:
73: def add3(self):
74: """Foldername"""
75: return OSAS_add.add3(self)
76:
77: def add4(self):
78: """Applet"""
79: return OSAS_add.add4(self)
80:
81: def add5(self):
82: """Foldername"""
83: return OSAS_add.add5(self)
84:
85: def add6(self):
86: """write new index.meta file"""
87: return OSAS_add.add6(self)
88:
1.27 dwinter 89: def addText2(self):
90: """add only a text"""
91: metadata=OSAS_add.parse_query_string(self.REQUEST['QUERY_STRING'])
92: metadata['archive-creation-date']=OSAS_add.date(self)
93: metadata['creator']=self.REQUEST['creator']
94: metadata['description']=self.REQUEST['content_description']
1.30 dwinter 95: metadata['archive-path']=os.path.split(self.REQUEST.SESSION['pathnew'])[0]
1.27 dwinter 96: #metadata['folder_name']=self.REQUEST.SESSION['folder_name']
1.30 dwinter 97: metadata['folder_name']=os.path.split(self.REQUEST.SESSION['pathnew'])[1]
1.27 dwinter 98: metadata['content-type']="fulltext document"
99: self.reftype=self.REQUEST.SESSION['reftype']
100: self.REQUEST.SESSION['add_metadata']=metadata
101: self.add_metadata=metadata
102: self.metadata=self.REQUEST.SESSION['metadata']
103: self.metadataprint=""
104: for tag in self.metadata.keys():
105: self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
106:
107: newtemplate=PageTemplateFile('Products/OSA_system/zpt/index_meta').__of__(self)
108: newtemplate.content_type="text/plain"
109: renderxml = newtemplate()
1.30 dwinter 110: metapath=self.REQUEST.SESSION['pathnew']+"/index.meta"
1.27 dwinter 111:
112:
113: f=open(metapath,'w')
114: f.writelines(renderxml)
115: f.close()
116: os.chmod(metapath,0664)
117: os.popen('chmod -R 0775 %s'%self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name'])
118:
119: return OSAS_add.addText2(self)
1.1 dwinter 120:
1.35 ! dwinter 121: def addPdf2(self):
! 122: """add only a pdf"""
! 123: metadata=OSAS_add.parse_query_string(self.REQUEST['QUERY_STRING'])
! 124: metadata['archive-creation-date']=OSAS_add.date(self)
! 125: metadata['creator']=self.REQUEST['creator']
! 126: metadata['description']=self.REQUEST['content_description']
! 127: metadata['archive-path']=os.path.split(self.REQUEST.SESSION['pathnew'])[0]
! 128: #metadata['folder_name']=self.REQUEST.SESSION['folder_name']
! 129: metadata['folder_name']=os.path.split(self.REQUEST.SESSION['pathnew'])[1]
! 130: metadata['content-type']="fulltext document"
! 131: self.reftype=self.REQUEST.SESSION['reftype']
! 132: self.REQUEST.SESSION['add_metadata']=metadata
! 133: self.add_metadata=metadata
! 134: self.metadata=self.REQUEST.SESSION['metadata']
! 135: self.metadataprint=""
! 136: for tag in self.metadata.keys():
! 137: self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
! 138:
! 139: newtemplate=PageTemplateFile('Products/OSA_system/zpt/index_meta').__of__(self)
! 140: newtemplate.content_type="text/plain"
! 141: renderxml = newtemplate()
! 142: metapath=self.REQUEST.SESSION['pathnew']+"/index.meta"
! 143:
! 144:
! 145: f=open(metapath,'w')
! 146: f.writelines(renderxml)
! 147: f.close()
! 148: os.chmod(metapath,0664)
! 149: os.popen('chmod -R 0775 %s'%self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name'])
! 150:
! 151: return OSAS_add.addPdf2(self)
! 152:
1.1 dwinter 153: def addImages(self,path):
154: """Hinzufügen eines neuen Imagesfolders"""
155: return OSAS_add.addImages(self,path)
156:
157: def addImages2(self):
158: """Upload des neuen Imagefolders"""
1.2 dwinter 159: return OSAS_add.addImages2(self)
160:
1.1 dwinter 161:
162: def manage_AddOSAS_add_DocumentForm(self):
163: """interface for adding the OSAS_add_Metadata"""
1.17 dwinter 164: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_document.zpt').__of__(self)
1.1 dwinter 165: return pt()
166:
167: def manage_AddOSAS_add_Document(self,id,RESPONSE=None):
168: """add the OSAS_root"""
169: newObj=OSAS_add_Document(id)
170: self.Destination()._setObject(id,newObj)
171: if RESPONSE is not None:
172: RESPONSE.redirect('manage_main')
173:
174:
175: InitializeClass(OSAS_add_Document)
176:
1.2 dwinter 177:
178: class OSAS_add_Text(Folder):
179: """Hinzufuegen eines Text-Dokumentes zum Storage"""
180: security=ClassSecurityInfo()
181:
182: def __init__(self,id):
183: """initialize a new instance"""
184: self.id = id
185:
186:
187: meta_type='OSAS_add_Text'
188: manage_options = Folder.manage_options+(
189: {'label':'Main Config','action':'add_Text_config'},
190: )
191:
192:
193:
194: security.declarePublic('add_Text_config')
195: def add_Text_config(self):
196: """Main configuration"""
1.17 dwinter 197: pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addText.zpt').__of__(self)
1.2 dwinter 198: return pt()
199:
200: security.declarePublic('change_OSAS_add_Text')
201: def change_OSAS_add_Text(self,RESPONSE=None):
202: """Change"""
203: # self.RootFolderName=RootFolderName
204: if RESPONSE is not None:
205: RESPONSE.redirect('manage_main')
206:
1.35 ! dwinter 207: def addPdf(self,path):
! 208: """Add a pdf"""
! 209: return OSAS_add.addPdf(self,path)
! 210:
! 211: def addPdf2(self):
! 212: """Read the file and store it"""
! 213: return OSAS_add.addPdf2(self)
! 214:
1.2 dwinter 215: def addText(self,path):
216: """Add a fulltext"""
217: return OSAS_add.addText(self,path)
218:
219: def addText2(self):
220: """Read the file and store it"""
221: return OSAS_add.addText2(self)
1.35 ! dwinter 222:
1.2 dwinter 223: def manage_AddOSAS_add_TextForm(self):
224: """interface for adding the OSAS_add_Metadata"""
1.17 dwinter 225: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_text.zpt').__of__(self)
1.2 dwinter 226: return pt()
227:
228: def manage_AddOSAS_add_Text(self,id,RESPONSE=None):
229: """add the OSAS_root"""
230: newObj=OSAS_add_Text(id)
231: self.Destination()._setObject(id,newObj)
232: if RESPONSE is not None:
233: RESPONSE.redirect('manage_main')
234:
235:
236: InitializeClass(OSAS_add_Text)
1.3 dwinter 237:
1.21 dwinter 238:
1.3 dwinter 239: class OSAS_add_contextData(Folder):
240: """Einfuegen eines Documentes in eine Collection"""
241:
242: security=ClassSecurityInfo()
243:
244:
245: meta_type='OSAS_add_contextData'
246:
1.21 dwinter 247: def XmlToTree(self,URL):
248: """Collection XML to Tree"""
249:
250:
251: class requestHandler(ContentHandler):
252: def __init__(self):
253: self.depth=0
254: self.retStr=""
255:
256: def startElement(self,name,attrs):
257: if name=="element":
258: self.depth+=1
1.24 dwinter 259: begin=""
260: end=""
261: if self.depth==1:
262: begin="<b>"
263: end="</b>"
264:
1.32 dwinter 265: self.retStr+=spaces(self.depth)+"<input type='radio' name='collection' value='%s'>%s</input>"%(attrs.get('url'),begin+urllib.unquote(attrs.get('name'))+end)+"<br>\n"
1.21 dwinter 266:
267:
268:
269: def endElement(self,name):
270: if name=="element":
271: self.depth-=1
272:
273:
1.23 dwinter 274: try:
275: URL+="/getCollectionTreeXML"
276: parser=make_parser()
277: curHandler=requestHandler()
278: parser.setContentHandler(curHandler)
279:
280: parser.parse(urllib.urlopen(URL))
281: return curHandler.retStr
282: except:
1.32 dwinter 283: return URL
1.23 dwinter 284: return urllib.urlopen(URL).read()
1.32 dwinter 285:
286:
1.3 dwinter 287: def __init__(self,id,collection):
288: self.id=id
289: self.collection=collection
290:
1.23 dwinter 291:
292:
293:
294: def getPartners(self,URL):
295: """Zeige Partnerliste"""
296: class requestHandler(ContentHandler):
297: def __init__(self):
298: self.ret=[]
1.5 dwinter 299:
1.23 dwinter 300: def startElement(self,name,attrs):
301: if name=="partner":
302: self.ret.append((attrs.get('id'),attrs.get('title')))
303:
304:
305: URL+="/getPartnersXML"
306:
307: try:
308:
1.32 dwinter 309: parser=make_parser()
310: curHandler=requestHandler()
311: parser.setContentHandler(curHandler)
1.23 dwinter 312:
1.32 dwinter 313: parser.parse(urllib.urlopen(URL))
314: return curHandler.ret
1.23 dwinter 315: except:
1.32 dwinter 316: return [("",URL)]
317:
1.21 dwinter 318:
1.5 dwinter 319: def addContextData(self,path):
1.32 dwinter 320: """Hinzufuegen zu einer Sammlung"""
1.6 dwinter 321: try:
322: urllib.urlopen(self.REQUEST['SERVER_URL']+path+"/index.meta")
1.9 dwinter 323:
1.6 dwinter 324: except:
1.14 dwinter 325: return self.REQUEST['SERVER_URL']+path+"/index.meta file has to exist!"
1.3 dwinter 326:
1.10 dwinter 327: links=[(path,'standard storage')]
328:
1.32 dwinter 329: links+=OSAS_show.readContexts(path) # auslesen von contexten fuer den link
1.10 dwinter 330: #print "LINK",links
1.15 dwinter 331: #return links
1.9 dwinter 332: self.REQUEST.SESSION['links']=links
1.17 dwinter 333: pt=PageTemplateFile('Products/OSA_system/zpt/contextDataMain.zpt').__of__(self)
1.9 dwinter 334: return pt()
1.5 dwinter 335:
336:
1.25 dwinter 337: def addContextData2(self,path,collection,link,label,description,content_type,responsible,weight,credits=None):
1.5 dwinter 338: """Hinzufuegen der Resource"""
339: splitted=path.split("/")
1.13 dwinter 340: #print "BLU"
1.5 dwinter 341: id=splitted[len(splitted)-1]
342: title=splitted[len(splitted)-1]
1.6 dwinter 343: metalink=self.REQUEST['SERVER_URL']+path+"/index.meta"
1.13 dwinter 344:
1.9 dwinter 345: #link=TOBEDONE"
1.5 dwinter 346: """Hinzufügen der Ressource"""
1.3 dwinter 347:
1.26 dwinter 348: params=urllib.urlencode({'id':id,'title':title,'link':link,'label':label,'description':description,'contentType':content_type,'responsible':responsible,'weight':weight,'credits':credits,'metalink':metalink})
1.21 dwinter 349:
1.33 dwinter 350: print params
351:
1.21 dwinter 352: retStr=urllib.urlopen(collection+"/addResource",params).read()
1.29 dwinter 353:
1.26 dwinter 354: if not retStr:
1.21 dwinter 355: return "An Error occured adding the resource\n"
1.29 dwinter 356:
1.21 dwinter 357:
1.33 dwinter 358: print urllib.urlopen(collection+"/"+id+"/copyIndex_meta2echo_resource").read()
359: print urllib.urlopen(collection+"/"+id+"/generate_label").read()
360: print urllib.urlopen(collection+"/"+id+"/generate_title").read()
1.21 dwinter 361:
1.5 dwinter 362: return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
363:
1.3 dwinter 364: manage_options = Folder.manage_options+(
365: {'label':'Main Config','action':'add_contextData_config'},
366: )
367:
368:
369: def add_contextData_config(self):
370: """Main configuration"""
1.17 dwinter 371: pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_add_contextData.zpt').__of__(self)
1.3 dwinter 372: return pt()
373:
374:
375: def change_OSAS_add_contextData(self,collection,RESPONSE=None):
376: """Change"""
377: self.collection=collection
378: if RESPONSE is not None:
379: RESPONSE.redirect('manage_main')
380:
381: def manage_AddOSAS_add_contextDataForm(self):
382: """interface for adding the OSAS_add_Metadata"""
1.17 dwinter 383: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_contextData.zpt').__of__(self)
1.3 dwinter 384: return pt()
385:
386: def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None):
387: """add the OSAS_root"""
388: newObj=OSAS_add_contextData(id,collection)
389: self.Destination()._setObject(id,newObj)
390: if RESPONSE is not None:
391: RESPONSE.redirect('manage_main')
392:
393:
394: InitializeClass(OSAS_add_contextData)
1.2 dwinter 395:
396: class OSAS_add_Presentation(Folder):
397: """Hinzufügen der Presentationsinformationen"""
398: security=ClassSecurityInfo()
399:
400: def __init__(self,id):
401: """initialize a new instance"""
402: self.id = id
403:
404:
405: meta_type='OSAS_add_Presentation'
406: manage_options = Folder.manage_options+(
407: {'label':'Main Config','action':'add_Presentation_config'},
408: )
409:
410:
411:
412: security.declarePublic('add_Presentation_config')
413: def add_Presentation_config(self):
414: """Main configuration"""
1.17 dwinter 415: pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_addPresentation.zpt').__of__(self)
1.2 dwinter 416: return pt()
417:
418: security.declarePublic('change_OSAS_add_Presentation')
419: def change_OSAS_add_Presentation(self,RESPONSE=None):
420: """Change"""
421: # self.RootFolderName=RootFolderName
422: if RESPONSE is not None:
423: RESPONSE.redirect('manage_main')
424:
425: def addPresentation(self,path):
426: """Hinzufügen der Presenationsinformation"""
427: return OSAS_add.addPresentation(self,path)
428:
429: def addPresentation2(self):
430: """Eingabe von Metadateninformationen"""
431: return OSAS_add.addPresentation2(self)
432:
433: def manage_AddOSAS_add_PresentationForm(self):
434: """interface for adding the OSAS_add_Metadata"""
1.17 dwinter 435: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_presentation.zpt').__of__(self)
1.2 dwinter 436: return pt()
437:
438: def manage_AddOSAS_add_Presentation(self,id,RESPONSE=None):
439: """add the OSAS_root"""
440: newObj=OSAS_add_Presentation(id)
441: self.Destination()._setObject(id,newObj)
442: if RESPONSE is not None:
443: RESPONSE.redirect('manage_main')
444:
445:
446: InitializeClass(OSAS_add_Presentation)
447:
448: class OSAS_combineTextImage(Folder):
1.18 dwinter 449: """Hinzufüge der Combine Text und Image"""
1.2 dwinter 450: security=ClassSecurityInfo()
451:
452: def __init__(self,id):
453: """initialize a new instance"""
454: self.id = id
455:
456:
457: meta_type='OSAS_combineTextImage'
458: manage_options = Folder.manage_options+(
459: {'label':'Main Config','action':'combineTextImage_config'},
460: )
461:
1.15 dwinter 462:
1.2 dwinter 463:
464: security.declarePublic('combineTextImage_config')
465: def combineTextImage_config(self):
466: """Main configuration"""
1.17 dwinter 467: pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_combineTextImage.zpt').__of__(self)
1.2 dwinter 468: return pt()
469:
470: security.declarePublic('change_OSAS_combineTextImage')
471: def change_OSAS_combineTextImage(self,RESPONSE=None):
472: """Change"""
473: # self.RootFolderName=RootFolderName
474: if RESPONSE is not None:
475: RESPONSE.redirect('manage_main')
476:
477: security.declarePublic('combineTextImage')
478: def combineTextImage(self,path):
479: """Hinzufügen der Presenationsinformation"""
1.18 dwinter 480: """gibt input formular zur erstellung des texttools meta tag aus"""
481: files = os.listdir(path)
482:
483: texts=[]
484: imagefolders=[]
485: presentationfolders=[]
486:
487: splitted=path.split("/")
488: externxml=readArchimedesXML(splitted[len(splitted)-1])
489:
490: for filename in files:
491: #print "FN",filename
492: if archive.isdigilib2(path+"/"+filename):
493: imagefolders.append(filename)
494:
495: if archive.isFullText(path,filename):
496: #print "HI"
497: texts.append(filename)
498: if archive.isPresentation(path,filename):
499: presentationfolders.append(filename)
500:
501: dom=xml.dom.minidom.parse(path+"/index.meta")
502: try:
503: filelanguage=archive.getText(dom.getElementsByTagName('lang')[0].childNodes)
504: except:
505: filelanguage=""
506:
1.27 dwinter 507: self.REQUEST.SESSION['isolist']=OSAS_add.getISO()
1.28 dwinter 508:
1.27 dwinter 509: tmp=self.REQUEST.SESSION['isolist'].keys()
1.18 dwinter 510: tmp.sort()
511: self.REQUEST.SESSION['isolistsort']=tmp
512: self.REQUEST.SESSION['path']=path
513: self.REQUEST.SESSION['texts']=texts
514: self.REQUEST.SESSION['imagefolders']=imagefolders
515: self.REQUEST.SESSION['presentationfolders']=presentationfolders
516: self.REQUEST.SESSION['filelanguage']=filelanguage
517: self.REQUEST.SESSION['externxml']=externxml
518:
519: newtemplate=PageTemplateFile('Products/OSA_system/zpt/ImageandText').__of__(self)
520: return newtemplate()
521:
1.33 dwinter 522: def getViewerTemplateSets(self,obj_ids=None):
523: """Get the ViewerTemplateSet title for configuration"""
1.18 dwinter 524: ret=[]
1.33 dwinter 525: viewerTemplateSets=self.ZopeFind(self.viewerTemplateSets,obj_metatypes=['OSAS_viewerTemplateSet'],obj_ids=obj_ids)#assumes viewerTemplateSets folder somewhere in the hierarchie.
526:
1.18 dwinter 527: try:
1.33 dwinter 528: viewerTemplateSets=self.ZopeFind(self.viewerTemplateSets,obj_metatypes=['OSAS_viewerTemplateSet'],obj_ids=obj_ids)#assumes viewerTemplateSets folder somewhere in the hierarchie.
1.28 dwinter 529:
1.33 dwinter 530: for viewerTemplateSet in viewerTemplateSets:
531: ret.append((viewerTemplateSet[1].title,viewerTemplateSet[0],viewerTemplateSet[1]))
1.28 dwinter 532:
1.18 dwinter 533: return ret
534:
535: except:
1.33 dwinter 536: return [('no ViewerTemplateSetfolders','')]
1.18 dwinter 537:
538: def getTextToolsField(self,path,name,default=''):
539: """Lese Textoolsfelder aus index.meta im path aus"""
540:
541: try:
542: dom=xml.dom.minidom.parse(path+"/index.meta")
543: node=dom.getElementsByTagName('texttool')[0] #getNode
544: subnode=node.getElementsByTagName(name)[0]
1.31 dwinter 545:
546: # bei text wird nur der Folder gebraucht
547: if name=="text":
548: splitted=getText(subnode.childNodes).split("/")
549: return splitted[len(splitted)-2]
550: else:
551: return getText(subnode.childNodes)
1.18 dwinter 552: except:
553: return default
1.31 dwinter 554:
1.2 dwinter 555:
556: def combineTextImage2(self,path):
557: """Eingabe von Metadateninformationen"""
1.34 dwinter 558:
559: # correct path
560: path=re.sub("//","/",path)
1.7 dwinter 561: OSAS_add.combineTextImage2(self,path) # Add images
562: splitted=path.split("/")
563: linkPath=splitted[len(splitted)-1]
1.28 dwinter 564: linkViewerEnvironmentImages="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir=%s&step=thumb" % linkPath
565: linkViewerEnvironmentOnlyText="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir=%s&step=textonly" % linkPath
566:
567: if self.REQUEST.has_key('image'): # bilder vorhanden
568: linkViewerEnvironment=linkViewerEnvironmentImages
569: else:
570: linkViewerEnvironment=linkViewerEnvironmentOnlyText
571:
1.7 dwinter 572: self.REQUEST.SESSION['linkViewerEnvironment']=linkViewerEnvironment
1.28 dwinter 573:
1.24 dwinter 574: writeToContext(path,linkViewerEnvironment,"ECHO standard environment",unique="yes")
1.7 dwinter 575:
1.17 dwinter 576: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_combineTextImageFinal.zpt').__of__(self)
1.7 dwinter 577:
578: return pt()
579:
1.33 dwinter 580: def isSelectedViewerTemplateSet(self,obj,id):
1.18 dwinter 581: """is ausgewählt"""
582:
1.33 dwinter 583: if self.REQUEST['viewerTemplateSet']==id:
1.18 dwinter 584: return 1
585: else:
586: return None
1.7 dwinter 587:
1.24 dwinter 588: def writeToContext(path,link,description,unique="no"):
1.7 dwinter 589: """Created an additional entry to the index.meta file of path"""
590: dom=xml.dom.minidom.parse(path+"/index.meta")
591: node=dom.getElementsByTagName('resource')[0]
592:
1.24 dwinter 593: if unique=="yes":
594:
595: contexts=node.getElementsByTagName('context')
596: for context in contexts:
597: nameTag=getText(context.getElementsByTagName('name')[0].childNodes)
598: linkTag=getText(context.getElementsByTagName('link')[0].childNodes)
599:
1.28 dwinter 600:
1.24 dwinter 601: linkTag=re.sub("\:86","",linkTag) # alter port 86 gleich ohne port nummer (hack)
602: if (nameTag==description) and (linkTag==link):
603: node.removeChild(context).unlink()
604:
1.7 dwinter 605: subnode=dom.createElement('context')
606:
607: linknode=dom.createElement('link')
608: namelinknode=dom.createTextNode(link)
609: linknode.appendChild(namelinknode)
610: subnode.appendChild(linknode)
611:
612: linknode=dom.createElement('name')
613: namelinknode=dom.createTextNode(description)
614: linknode.appendChild(namelinknode)
615: subnode.appendChild(linknode)
616:
617: node.appendChild(subnode)
618:
619: writefile=file(path+"/index.meta","w")
620: #print path+"/index.meta"
621: writefile.write(dom.toxml().encode('utf-8'))
622: writefile.close()
1.2 dwinter 623:
624: def manage_AddOSAS_combineTextImageForm(self):
625: """interface for adding the OSAS_add_Metadata"""
1.17 dwinter 626: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_combineTextImage.zpt').__of__(self)
1.2 dwinter 627: return pt()
628:
629: def manage_AddOSAS_combineTextImage(self,id,RESPONSE=None):
630: """add the OSAS_root"""
631: newObj=OSAS_combineTextImage(id)
632: self.Destination()._setObject(id,newObj)
633: if RESPONSE is not None:
634: RESPONSE.redirect('manage_main')
635:
636:
637: InitializeClass(OSAS_combineTextImage)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>