version 1.307, 2009/05/06 07:53:46
|
version 1.312, 2012/01/03 13:02:31
|
Line 21 import tempfile
|
Line 21 import tempfile
|
import zipfile |
import zipfile |
import re |
import re |
import os,shutil |
import os,shutil |
|
import traceback |
import OFS.Image |
import OFS.Image |
from types import * |
from types import * |
from OFS.Cache import Cacheable |
from OFS.Cache import Cacheable |
Line 57 import Ft.Xml.XPath
|
Line 58 import Ft.Xml.XPath
|
import cStringIO |
import cStringIO |
|
|
import sys |
import sys |
|
import logging |
|
|
try: |
try: |
from psycopg import libpq |
from psycopg import libpq |
Line 701 class ECHO_collection(CatalogAware, Fold
|
Line 703 class ECHO_collection(CatalogAware, Fold
|
|
|
path="/mpiwg/online/permanent/shipbuilding" |
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 != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': |
|
sec = p.getId() |
|
p = p.aq_parent |
|
|
|
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 != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': |
|
subsec = sec |
|
sec = p.getId() |
|
p = p.aq_parent |
|
|
|
return subsec |
|
|
|
|
def exportImportObjects_html(self,RESPONSE): |
def exportImportObjects_html(self,RESPONSE): |
"""ImportObject""" |
"""ImportObject""" |
Line 1003 class ECHO_collection(CatalogAware, Fold
|
Line 1038 class ECHO_collection(CatalogAware, Fold
|
pass |
pass |
return ret |
return ret |
|
|
def importCollection(self,path=None,RESPONSE=None): |
def importCollection(self,path=None,viewerUrl=None,metaDataUrl=None,replacePathPermanent=None,replacePathExperimental=None,folderListFile=None,RESPONSE=None): |
"""liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner""" |
"""liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner""" |
|
|
if path is None: |
if (path is None) & (folderListFile is None): |
pt=zptFile(self, 'zpt/importCollection.zpt') |
pt=zptFile(self, 'zpt/importCollection.zpt') |
return pt() |
return pt() |
|
|
|
|
|
|
|
if (path !=""): |
files=os.listdir(path) |
files=os.listdir(path) |
|
pathToFolder=path; |
|
else: |
|
pathToFolder=""; |
|
files=[]; |
|
for fileLine in folderListFile.readlines(): |
|
for fileLine2 in fileLine.split("\r"): |
|
logging.debug("append:"+fileLine2) |
|
files.append(fileLine2) |
|
|
ret="" |
ret="" |
for fileName in files: |
for fileName in files: |
|
|
if fileName: |
if fileName: |
|
logging.debug("split:"+fileName); |
|
if(pathToFolder==""): # pfad ist leer, da filename aud folderlistfile dann: |
|
splitted=fileName.split("/"); |
|
path="/".join(splitted[0:-1]); |
|
fileName=splitted[-1].rstrip().lstrip(); |
|
|
|
|
|
|
|
if (replacePathExperimental and replacePathExperimental!=''): |
|
path=re.sub(replacePathExperimental,"/mpiwg/online/experimental",path) |
|
|
|
if (replacePathPermanent and replacePathPermanent!=''): |
|
path=re.sub(replacePathPermanent,"/mpiwg/online/permanent",path) |
|
|
|
link=viewerUrl%(path+"/"+fileName+"/pageimg") |
|
|
tempPath=re.sub("/mpiwg/online","",path) |
metalink=metaDataUrl+re.sub("/mpiwg/online/","",path+"/"+fileName+"/index.meta") |
link="http://echo.mpiwg-berlin.mpg.de/zogilib_book?fn="+tempPath+"/"+fileName+"/pageimg" |
|
|
#metalink=metaDataUrl+"/"+path+"/"+fileName+"/index.meta" |
|
|
|
newindexMeta =re.sub("/mpiwg/online/","",path+"/"+fileName) |
|
|
metalink=self.path+"/"+fileName+"/index.meta" |
|
try: |
try: |
|
type=self.metadata.getBibTypeFromIndexMeta(newindexMeta) |
|
|
#link="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir="+fileName+"&step=thumb" |
try: |
|
|
newObj=ECHO_resource(fileName,link,metalink,fileName,fileName,fileName,'generated','book','','','','','','') |
#link="http://nausikaa2.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.x.cgi?dir="+fileName+"&step=thumb" |
|
logging.debug("create:"+fileName); |
|
logging.debug("type:"+type); |
|
newObj=ECHO_resource(fileName,link,metalink,fileName,fileName,fileName,'',type,'','','','','','') |
self._setObject(fileName,newObj) |
self._setObject(fileName,newObj) |
|
|
genObj=getattr(self,fileName) |
genObj=getattr(self,fileName) |
#genObj.createIndexFile() |
#genObj.createIndexFile() |
ret+="OK:"+fileName+"<br/>" |
ret+="OK:"+fileName+"<br/>" |
except: |
except: |
print "ERROR" |
exc_type, exc_value, exc_traceback = sys.exc_info(); |
|
#logging.error("%s %s %s"%[sys.exc_info()[0],ssys.exc_info()[1],; |
|
traceback.print_exception(exc_type, exc_value, exc_traceback, |
|
limit=2, file=sys.stdout) |
ret+="ERROR:"+fileName+"<br/>" |
ret+="ERROR:"+fileName+"<br/>" |
|
except: |
|
exc_type, exc_value, exc_traceback = sys.exc_info(); |
|
#logging.error("%s %s %s"%[sys.exc_info()[0],ssys.exc_info()[1],; |
|
traceback.print_exception(exc_type, exc_value, exc_traceback, |
|
limit=2, file=sys.stdout) |
|
ret+="not a file ERROR:"+fileName+"<br/>" |
|
|
return ret |
return ret |
|
|
Line 1467 class ECHO_collection(CatalogAware, Fold
|
Line 1544 class ECHO_collection(CatalogAware, Fold
|
|
|
def showOverview(self): |
def showOverview(self): |
"""overview""" |
"""overview""" |
|
# ECHO_overview.html template for this instance |
if 'ECHO_overview.html' in self.__dict__.keys(): |
if 'ECHO_overview.html' in self.__dict__.keys(): |
return getattr(self,'ECHO_overview.html')() |
return getattr(self,'ECHO_overview.html')() |
|
|
|
# ECHO_overview_main template in path |
|
if hasattr(self, 'ECHO_overview_main'): |
|
return getattr(self, 'ECHO_overview_main')() |
|
|
|
# template from product |
pt=zptFile(self, 'zpt/ECHO_content_overview.zpt') |
pt=zptFile(self, 'zpt/ECHO_content_overview.zpt') |
return pt() |
return pt() |
|
|
Line 1815 class ECHO_userFolder(UserFolder):
|
Line 1899 class ECHO_userFolder(UserFolder):
|
return 1 |
return 1 |
return 0 |
return 0 |
|
|
Globals.default__class_init__(ECHO_userFolder) |
# ROC: problem with 2.12 |
|
#Globals.default__class_init__(ECHO_userFolder) |
|
|
|
|
|
|
Line 1881 class ECHO_root(Folder,Persistent,Implic
|
Line 1966 class ECHO_root(Folder,Persistent,Implic
|
getSubCols = ECHO_helpers.getSubCols |
getSubCols = ECHO_helpers.getSubCols |
|
|
manage_options=Folder.manage_options+( |
manage_options=Folder.manage_options+( |
{'label':'Main Config','action':'ECHO_copyright_configForm'}, |
|
{'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, |
{'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, |
{'label':'Change Weights','action':'changeWeights'}, |
{'label':'Change Weights','action':'changeWeights'}, |
{'label':'Generate from RDF','action':'generateFromRDFForm'}, |
{'label':'Generate from RDF','action':'generateFromRDFForm'}, |
Line 1890 class ECHO_root(Folder,Persistent,Implic
|
Line 1974 class ECHO_root(Folder,Persistent,Implic
|
) |
) |
|
|
|
|
|
|
|
|
def getECHORootURL(self): |
def getECHORootURL(self): |
return self.absolute_url() |
return self.absolute_url() |
|
|
Line 2246 class ECHO_root(Folder,Persistent,Implic
|
Line 2332 class ECHO_root(Folder,Persistent,Implic
|
retStr+="""<option value="%s">%s\n"""%(contentType[0],contentType[0]) |
retStr+="""<option value="%s">%s\n"""%(contentType[0],contentType[0]) |
except: |
except: |
try: |
try: |
for contentType in self.ZopeFind(self.standardMD,obj_metatypes=["OSAS_MetadataMapping"]): |
for contentType in self.ZopeFind(self.getStandardMD(),obj_metatypes=["OSAS_MetadataMapping"]): |
if selected and (contentType[0]==selected): |
if selected and (contentType[0]==selected): |
retStr+="""<option selected value="%s">%s\n"""%(contentType[0],contentType[0]) |
retStr+="""<option selected value="%s">%s\n"""%(contentType[0],contentType[0]) |
else: |
else: |