|
|
| version 1.42, 2005/11/28 14:09:16 | version 1.52, 2008/10/17 06:26:43 |
|---|---|
| Line 19 from Globals import package_home | Line 19 from Globals import package_home |
| from xml.sax import make_parser | from xml.sax import make_parser |
| from xml.sax.handler import ContentHandler | from xml.sax.handler import ContentHandler |
| import sys | |
| import logging | |
| import xmlrpclib | |
| #ersetzt logging | |
| def logger(txt,method,txt2): | |
| """logging""" | |
| logging.info(txt+ txt2) | |
| def spaces(depth): | def spaces(depth): |
| """needed in XMLtoTree""" | """needed in XMLtoTree""" |
| Line 327 class OSAS_add_contextData(Folder): | Line 336 class OSAS_add_contextData(Folder): |
| """Hinzufuegen zu einer Sammlung""" | """Hinzufuegen zu einer Sammlung""" |
| server=getattr(self,'serverUrl',self.REQUEST['SERVER_URL']) | server=getattr(self,'serverUrl',self.REQUEST['SERVER_URL']) |
| if path[0]=="/": #strip leading slash | |
| urlpath=path[1:] | |
| else: | |
| urlpath=path | |
| try: | try: |
| urllib.urlopen(server+"/"+path+"/index.meta") | urllib.urlopen(server+"/"+urlpath+"/index.meta") |
| except: | except: |
| return self.REQUEST['SERVER_URL']+path+"/index.meta file has to exist!" | logger("OSAS_addfiles (addContextData)", logging.INFO,"%s (%s)"%sys.exc_info()[0:2]) |
| return server+"/"+urlpath+"/index.meta file has to exist!" | |
| links=[(path,'standard storage')] | # old version for foxridge storage viewer |
| #links=[(path,'storage server view')] | |
| # libcoll viewer with imagepath: needs pageimg directory | |
| links=[('http://libcoll.mpiwg-berlin.mpg.de/libview?mode=imagepath&url=%s/pageimg'%path,'libcoll standard viewer (pageimg)')] | |
| # libcoll viewer with texttool: needs texttool tag | |
| links+=[('http://libcoll.mpiwg-berlin.mpg.de/libview?mode=texttool&url=%s/index.meta'%path,'libcoll standard viewer (texttool)')] | |
| links+=OSAS_show.readContexts(path) # auslesen von contexten fuer den link | links+=OSAS_show.readContexts(path) # auslesen von contexten fuer den link |
| #print "LINK",links | #print "LINK",links |
| Line 351 class OSAS_add_contextData(Folder): | Line 369 class OSAS_add_contextData(Folder): |
| id=splitted[len(splitted)-1] | id=splitted[len(splitted)-1] |
| title=splitted[len(splitted)-1] | title=splitted[len(splitted)-1] |
| server=getattr(self,'serverUrl',self.REQUEST['SERVER_URL']) | server=getattr(self,'serverUrl',self.REQUEST['SERVER_URL']) |
| if path[0]=="/": #strip leading slash | |
| urlpath=path[1:] | |
| else: | |
| urlpath=path | |
| metalink=server+"/"+path+"/index.meta" | metalink=server+"/"+urlpath+"/index.meta" |
| #link=TOBEDONE" | #link=TOBEDONE" |
| """Hinzufuegen der Ressource""" | """Hinzufuegen der Ressource""" |
| params=urllib.urlencode({'id':id,'title':title,'link':link,'label':label,'description':description,'contentType':content_type,'responsible':responsible,'weight':weight,'credits':credits,'metalink':metalink}) | params=urllib.urlencode({'id':id,'title':title,'link':link,'label':label,'description':description,'contentType':content_type,'responsible':responsible,'weight':weight,'credits':credits,'metalink':metalink}) |
| server=xmlrpclib.ServerProxy(collection,allow_none=True) | |
| try: | try: |
| retStr=urllib.urlopen(collection+"/addResource",params).read() | #retStr=urllib.urlopen(collection+"/addResource",params).read() |
| retStr=server.addResource(id,title,label,description,content_type,responsible,link,metalink,weight,credits) | |
| except: | except: |
| return "An Error occured adding the resource\n", collection,params | return "An Error occured adding the resource A\n", collection,params,str(sys.exc_info()[0]),str(sys.exc_info()[1]) |
| #print "added" | #print "added" |
| logging.debug("Add an resource:"+repr(retStr)) | |
| if not retStr: | if not retStr: |
| return "An Error occured adding the resource\n", collection,params | return "An Error occured adding the resource B\n", collection,params |
| #print collection+"/"+id+"/copyIndex_meta2echo_resource" | #print collection+"/"+id+"/copyIndex_meta2echo_resource" |
| #TODO: fehler falls generate label oder title nicht funktioniert abfangen, bei ECHO geht das z.B. manchmal nicht. | |
| urllib.urlopen(collection+"/"+id+"/copyIndex_meta2echo_resource").read() | #server=xmlrpclib.ServerProxy(collection+"/"+id,allow_none=True) |
| #server2=getattr(server,id) | |
| #server2.copyIndex_meta2echo_resource() | |
| #urllib.urlopen(collection+"/"+id+"/copyIndex_meta2echo_resource").read() | |
| #print "copy2res" | #print "copy2res" |
| urllib.urlopen(collection+"/"+id+"/generate_label").read() | #try: |
| #print "label" | #urllib.urlopen(collection+"/"+id+"/generate_label").read() |
| urllib.urlopen(collection+"/"+id+"/generate_title").read() | # server2.generate_label() |
| #print "title" | # except: |
| # logger("OSAS_addfiles (addContextData2,label not generated)", logging.INFO,"%s (%s)"%sys.exc_info()[0:2]) | |
| #try: | |
| #urllib.urlopen(collection+"/"+id+"/generate_title").read() | |
| # server2.generate_title() | |
| #except: | |
| # logger("OSAS_addfiles (addContextData2,title not generated)", logging.INFO,"%s (%s)"%sys.exc_info()[0:2]) | |
| 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+( |