version 1.23, 2004/06/22 06:39:04
|
version 1.35, 2008/01/18 20:36:28
|
Line 10 from OFS.SimpleItem import SimpleItem
|
Line 10 from OFS.SimpleItem import SimpleItem
|
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplate import PageTemplate |
from Products.PageTemplates.PageTemplate import PageTemplate |
from AccessControl import ClassSecurityInfo |
from AccessControl import ClassSecurityInfo |
from Globals import InitializeClass |
from Globals import InitializeClass,package_home |
|
import zLOG |
|
|
class OSAS_ShowOnline(SimpleItem): |
class OSAS_ShowOnline(SimpleItem): |
security=ClassSecurityInfo() |
security=ClassSecurityInfo() |
Line 25 class OSAS_ShowOnline(SimpleItem):
|
Line 26 class OSAS_ShowOnline(SimpleItem):
|
security.declareProtected('View','index_html') |
security.declareProtected('View','index_html') |
def index_html(self): |
def index_html(self): |
"""main view""" |
"""main view""" |
pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_ViewFiles.zpt').__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_ViewFiles.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
def getfilesystem2(self,start,reload=0): |
def getfilesystem2(self,start,reload=0): |
Line 54 class OSAS_ShowOnline(SimpleItem):
|
Line 55 class OSAS_ShowOnline(SimpleItem):
|
return hasMetafile(path) |
return hasMetafile(path) |
|
|
def getMetafile(self,path): |
def getMetafile(self,path): |
return getMetafile(path) |
|
|
return getMetafile(path).decode('utf-8') |
|
|
def toggle_view(self,path,file): |
def toggle_view(self,path,file): |
"""Oeffnen bzw. schließen der Subfolders""" |
"""Oeffnen bzw. schließen der Subfolders""" |
Line 66 InitializeClass(OSAS_ShowOnline)
|
Line 68 InitializeClass(OSAS_ShowOnline)
|
|
|
def manage_AddOSAS_ShowOnlineForm(self): |
def manage_AddOSAS_ShowOnlineForm(self): |
"""interface for adding the OSAS_root""" |
"""interface for adding the OSAS_root""" |
pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_ShowOnline.zpt').__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_ShowOnline.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
def manage_AddOSAS_ShowOnline(self,id,RESPONSE=None): |
def manage_AddOSAS_ShowOnline(self,id,RESPONSE=None): |
Line 90 class OSAS_StoreOnline(SimpleItem):
|
Line 92 class OSAS_StoreOnline(SimpleItem):
|
security.declareProtected('View','index_html') |
security.declareProtected('View','index_html') |
def index_html(self): |
def index_html(self): |
"""main view""" |
"""main view""" |
pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_StoreFiles.zpt').__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_StoreFiles.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
def readContexts(self,path): |
def readContexts(self,path): |
Line 106 class OSAS_StoreOnline(SimpleItem):
|
Line 108 class OSAS_StoreOnline(SimpleItem):
|
def rescaleThumbs(self,path): |
def rescaleThumbs(self,path): |
"""rescale thumbs of images in path""" |
"""rescale thumbs of images in path""" |
|
|
os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 --replace >> /tmp/sc.out &"% re.sub('/mpiwg/online/','',self.REQUEST['path'])) |
dlpath = re.sub('/mpiwg/online/','',self.REQUEST['path']) |
|
ret=os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=100 -sync >> /tmp/sc.out &"%dlpath ) |
|
#os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 --replace >> /tmp/sc.out &"% re.sub('/mpiwg/online/','',self.REQUEST['path'])) |
|
zLOG.LOG("OSAS_StoreOnline (rescleThumbs)",zLOG.INFO,ret.read()) |
|
zLOG.LOG("OSAS_StoreOnline (rescleThumbs)",zLOG.INFO,"ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=100 -sync >> /tmp/sc.out &"%dlpath) |
self.REQUEST.SESSION['path']=self.REQUEST['path'] |
self.REQUEST.SESSION['path']=self.REQUEST['path'] |
#return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']) |
#return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']) |
pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_scaled.zpt').__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_scaled.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 140 class OSAS_StoreOnline(SimpleItem):
|
Line 145 class OSAS_StoreOnline(SimpleItem):
|
return hasMetafile(path) |
return hasMetafile(path) |
|
|
def getMetafile(self,path): |
def getMetafile(self,path): |
return getMetafile(path) |
|
|
return getMetafile(path).decode('utf-8') |
|
|
def toggle_view(self,path,file): |
def toggle_view(self,path,file): |
"""Oeffnen bzw. schließen der Subfolders""" |
"""Oeffnen bzw. schließen der Subfolders""" |
Line 159 class OSAS_StoreOnline(SimpleItem):
|
Line 165 class OSAS_StoreOnline(SimpleItem):
|
"""Test ob Eintrag ein Folder ist""" |
"""Test ob Eintrag ein Folder ist""" |
return isFullText(path,folder_name) |
return isFullText(path,folder_name) |
|
|
|
def isPdf(self,path,folder_name): |
|
"""Test ob Eintrag ein Folder mit pdf2 ist""" |
|
return isPdf(path,folder_name) |
|
|
|
|
def isPresentation(self,path,folder_name): |
def isPresentation(self,path,folder_name): |
"""Test ob Eintrag ein Folder ist""" |
"""Test ob Eintrag ein Folder ist""" |
return isPresentation(path,folder_name) |
return isPresentation(path,folder_name) |
Line 168 class OSAS_StoreOnline(SimpleItem):
|
Line 179 class OSAS_StoreOnline(SimpleItem):
|
|
|
def addFolderForm(self,path): |
def addFolderForm(self,path): |
"""add a new path""" |
"""add a new path""" |
pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_addFolder.zpt').__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_addFolder.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
def showHelp(self,refType,genericTag): |
def showHelp(self,refType,genericTag): |
Line 193 class OSAS_StoreOnline(SimpleItem):
|
Line 204 class OSAS_StoreOnline(SimpleItem):
|
"""Editiere das Index Metafile""" |
"""Editiere das Index Metafile""" |
try: |
try: |
dom=xml.dom.minidom.parse(path+"/index.meta") |
dom=xml.dom.minidom.parse(path+"/index.meta") |
indexmeta=dom.toxml() |
indexmeta=dom.toxml(encoding='UTF-8') |
except: |
except: |
indexmeta="" |
indexmeta="" |
|
|
self.REQUEST.SESSION['indexmeta']=indexmeta |
self.REQUEST.SESSION['indexmeta']=indexmeta |
self.REQUEST.SESSION['path']=path |
self.REQUEST.SESSION['path']=path |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/editindex').__of__(self) |
newtemplate=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editindex')).__of__(self) |
return newtemplate() |
return newtemplate() |
|
|
def EditIndex2(self): |
def EditIndex2(self): |
Line 220 class OSAS_StoreOnline(SimpleItem):
|
Line 231 class OSAS_StoreOnline(SimpleItem):
|
|
|
def add_metafile(self): |
def add_metafile(self): |
"""nothing""" |
"""nothing""" |
pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_addmetadata.zpt').__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_addmetadata.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
def getTextToolsField(self,path,name,default=''): |
def getTextToolsField(self,path,name,default=''): |
Line 258 class OSAS_StoreOnline(SimpleItem):
|
Line 269 class OSAS_StoreOnline(SimpleItem):
|
def changeTemplatesForm(self,path): |
def changeTemplatesForm(self,path): |
"""changeform""" |
"""changeform""" |
path=self.REQUEST.SESSION['path']=path |
path=self.REQUEST.SESSION['path']=path |
pt=PageTemplateFile('Products/OSA_system/zpt/changeTemplatesForm.zpt').__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeTemplatesForm.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 274 InitializeClass(OSAS_StoreOnline)
|
Line 285 InitializeClass(OSAS_StoreOnline)
|
|
|
def manage_AddOSAS_StoreOnlineForm(self): |
def manage_AddOSAS_StoreOnlineForm(self): |
"""interface for adding the OSAS_root""" |
"""interface for adding the OSAS_root""" |
pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_StoreOnline.zpt').__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_StoreOnline.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
def manage_AddOSAS_StoreOnline(self,id,RESPONSE=None): |
def manage_AddOSAS_StoreOnline(self,id,RESPONSE=None): |
Line 329 import xml.dom.minidom
|
Line 340 import xml.dom.minidom
|
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 tempfile |
import tempfile |
tempfile.tempdir="/var/tmp/archiver" |
tempfile.tempdir="/var/tmp" |
|
|
exclusion=[".HSResource","lost+found","Network Trash Folder","TheFindByContentFolder","TheVolumeSettingsFolder"] |
exclusion=[".HSResource","lost+found","Network Trash Folder","TheFindByContentFolder","TheVolumeSettingsFolder"] |
|
|
class fsentry(Implicit, Persistent, RoleManager): |
class fsentry(Implicit, Persistent, RoleManager): |
"""File entry class""" |
"""File entry class""" |
path = "" |
path = "" |
Line 562 class filesystem2(Implicit, Persistent,
|
Line 574 class filesystem2(Implicit, Persistent,
|
def loadfs(self,start): |
def loadfs(self,start): |
"""analyse filesystem""" |
"""analyse filesystem""" |
for line in self.getfs(start): |
for line in self.getfs(start): |
|
logging.debug("loadfs: reading %s"%repr(line)) |
g=re.search(r"(.*/)(.*)\n",line) |
g=re.search(r"(.*/)(.*)\n",line) |
if not g==None: |
if not g==None: |
try: |
try: |
Line 570 class filesystem2(Implicit, Persistent,
|
Line 582 class filesystem2(Implicit, Persistent,
|
file=g.group(2) |
file=g.group(2) |
except: |
except: |
"""nothing""" |
"""nothing""" |
|
logging.debug("loadfs: file=%s"%repr(file)) |
|
#if file[0] in ('.',':'): |
|
# skip dot-files |
|
# continue |
if self.node.has_key(path): |
if self.node.has_key(path): |
elements=self.node[path] |
elements=self.node[path] |
elements.append(file) |
elements.append(file) |
Line 640 class browse(Implicit, Persistent, RoleM
|
Line 656 class browse(Implicit, Persistent, RoleM
|
def filterExcluded(self,dir): |
def filterExcluded(self,dir): |
ret=[] |
ret=[] |
for item in dir: |
for item in dir: |
if not item in exclusion: |
if not ((item in exclusion) or (item[0] in ('.',':'))): |
ret.append(item) |
ret.append(item) |
return ret |
return ret |
|
|
Line 956 def getBib(nodelist):
|
Line 972 def getBib(nodelist):
|
|
|
if node.nodeType == node.ELEMENT_NODE: |
if node.nodeType == node.ELEMENT_NODE: |
"""nothing""" |
"""nothing""" |
|
|
rc = rc+"<tr><td valign='right'>"+str(node.nodeName)+":</td><td> "+getText(node.childNodes)+"</td></tr>" |
rc = rc+"<tr><td valign='right'>"+str(node.nodeName)+":</td><td> "+getText(node.childNodes)+"</td></tr>" |
|
|
#print rc |
#print rc |
return rc+"</table>" |
return rc+"</table>" |
|
|
Line 1015 def getMetafile(path):
|
Line 1033 def getMetafile(path):
|
|
|
# html=html.encode('utf-8','replace')+getBib(bib.childNodes).encode('utf-8','replace') |
# html=html.encode('utf-8','replace')+getBib(bib.childNodes).encode('utf-8','replace') |
|
|
return html |
return html.encode('utf-8') |
|
|
def hasMetafile(path): |
def hasMetafile(path): |
"""get index.meta""" |
"""get index.meta""" |
Line 1073 def isFullText(path,folder_name):
|
Line 1091 def isFullText(path,folder_name):
|
|
|
return 0 |
return 0 |
|
|
|
def isPdf(path,folder_name): |
|
"""check if foldername in path is full text""" |
|
try: |
|
dom=xml.dom.minidom.parse(path+"/index.meta") |
|
for node in dom.getElementsByTagName("dir"): |
|
|
|
if getText(node.getElementsByTagName("content-type")[0].childNodes).lower()=="pdf": |
|
|
|
if getText(node.getElementsByTagName("name")[0].childNodes)==folder_name: |
|
return 1 |
|
return 0 |
|
except: |
|
|
|
return 0 |
|
|
def isPresentation(path,folder_name): |
def isPresentation(path,folder_name): |
"""check if foldername in path is full text""" |
"""check if foldername in path is full text""" |
Line 1228 def isScannedDocument(self,path):
|
Line 1260 def isScannedDocument(self,path):
|
"""returns TRUE, wenn path der Stammordner eines gescannten Documents ist""" |
"""returns TRUE, wenn path der Stammordner eines gescannten Documents ist""" |
try: |
try: |
f = file(path+"/index.meta","r") |
f = file(path+"/index.meta","r") |
|
logging.debug("isscanneddocument: file=%s"%f) |
lines = f.read() |
lines = f.read() |
|
|
try: |
try: |
dom = xml.dom.minidom.parseString(lines) |
dom = xml.dom.minidom.parseString(lines) |
content_type=getText(dom.getElementsByTagName("content-type")[0].childNodes) |
content_type=getText(dom.getElementsByTagName("content-type")[0].childNodes) |
|
logging.debug("isscanneddocument: content_type=%s"%content_type) |
if (content_type=="scanned-document") or (content_type=="scanned document") or (content_type=="fulltext document"): |
if (content_type=="scanned-document") or (content_type=="scanned document") or (content_type=="fulltext document"): |
return 1 |
return 1 |
else: |
else: |