|
|
| version 1.10, 2003/12/19 15:05:41 | version 1.16, 2004/03/25 09:57:47 |
|---|---|
| Line 1 | Line 1 |
| # Classes for displaying, browsing and organizing the archive | """ Classes for displaying, browsing and organizing the archive |
| 20040303 Needs configuration for rescaling thumbs | |
| """ | |
| import addFolder | import addFolder |
| from OFS.Folder import Folder | from OFS.Folder import Folder |
| Line 22 class OSAS_ShowOnline(SimpleItem): | Line 24 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/OSAS_ViewFiles.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_ViewFiles.zpt').__of__(self) |
| return pt() | return pt() |
| def getfilesystem2(self,start,reload=0): | def getfilesystem2(self,start,reload=0): |
| Line 62 InitializeClass(OSAS_ShowOnline) | Line 64 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/AddOSAS_ShowOnline.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/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 86 class OSAS_StoreOnline(SimpleItem): | Line 88 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/OSAS_StoreFiles.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_StoreFiles.zpt').__of__(self) |
| return pt() | return pt() |
| def readContexts(self,path): | def readContexts(self,path): |
| Line 100 class OSAS_StoreOnline(SimpleItem): | Line 102 class OSAS_StoreOnline(SimpleItem): |
| return [] | return [] |
| def rescaleThumbs(self,path): | def rescaleThumbs(self,path): |
| """rescale thumbs of imeages in path""" | """rescale thumbs of images in path""" |
| os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 >> /tmp/sc.out &"% re.sub('/mpiwg/online/','',self.REQUEST['path'])) | os.popen("ssh 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'])) |
| 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/OSAS_scaled.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_scaled.zpt').__of__(self) |
| return pt() | return pt() |
| Line 148 class OSAS_StoreOnline(SimpleItem): | Line 150 class OSAS_StoreOnline(SimpleItem): |
| return isFolder(self,path) | return isFolder(self,path) |
| def isScannedDocument(self,path): | def isScannedDocument(self,path): |
| """Test ob Eintrag ein Folder ist""" | """Test ob Eintrag ein Scanned Document ist""" |
| return isScannedDocument(self,path) | return isScannedDocument(self,path) |
| def isFullText(self,path,folder_name): | def isFullText(self,path,folder_name): |
| """Test ob Eintrag ein Folder ist""" | """Test ob Eintrag ein Folder ist""" |
| return isFullText(path,folder_name) | return isFullText(path,folder_name) |
| def date(self): | |
| return strftime("%d.%m.%Y",localtime()) | |
| def addFolderForm(self,path): | def addFolderForm(self,path): |
| """add a new path""" | """add a new path""" |
| pt=PageTemplateFile('Products/OSA_system/OSAS_addFolder.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_addFolder.zpt').__of__(self) |
| return pt() | return pt() |
| def date(self): | |
| return strftime("%d.%m.%Y",localtime()) | |
| def addFolder(self,path,folder_name,description,archive_creation_date,creator): | def addFolder(self,path,folder_name,description,archive_creation_date,creator): |
| """add the folder to the filesystem and write the metadata files""" | """add the folder to the filesystem and write the metadata files""" |
| Line 174 class OSAS_StoreOnline(SimpleItem): | Line 177 class OSAS_StoreOnline(SimpleItem): |
| indexmeta=dom.toxml() | indexmeta=dom.toxml() |
| 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/editindex').__of__(self) | newtemplate=PageTemplateFile('Products/OSA_system/zpt/editindex').__of__(self) |
| return newtemplate() | return newtemplate() |
| def EditIndex2(self): | def EditIndex2(self): |
| Line 197 class OSAS_StoreOnline(SimpleItem): | Line 201 class OSAS_StoreOnline(SimpleItem): |
| def add_metafile(self): | def add_metafile(self): |
| """nothing""" | """nothing""" |
| pt=PageTemplateFile('Products/OSA_system/OSAS_addmetadata.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_addmetadata.zpt').__of__(self) |
| return pt() | return pt() |
| InitializeClass(OSAS_StoreOnline) | 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/AddOSAS_StoreOnline.zpt').__of__(self) | pt=PageTemplateFile('Products/OSA_system/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 246 from AccessControl import ClassSecurityI | Line 250 from AccessControl import ClassSecurityI |
| from AccessControl.Role import RoleManager | from AccessControl.Role import RoleManager |
| from Acquisition import Implicit | from Acquisition import Implicit |
| from Globals import Persistent | from Globals import Persistent |
| try: | |
| from time import strptime | from time import strptime |
| except: | |
| print "ignoring time.strptime import" | |
| from time import strftime | from time import strftime |
| import time | import time |
| import os.path | import os.path |
| Line 377 class filesystem(Implicit, Persistent, R | Line 385 class filesystem(Implicit, Persistent, R |
| def archive_the_path(self,path): | def archive_the_path(self,path): |
| """parse indexmeta and return digilib path""" | """parse indexmeta and return digilib path""" |
| try: | try: |
| #f = os.popen("cat "+path+"/index.meta","r") | #f = os.popen("cat "+path+"/index.meta","r") |
| f =file(path+"/index.meta","r") | f =file(path+"/index.meta","r") |
| Line 385 class filesystem(Implicit, Persistent, R | Line 394 class filesystem(Implicit, Persistent, R |
| try: | try: |
| dom = xml.dom.minidom.parseString(lines) | dom = xml.dom.minidom.parseString(lines) |
| if dom.getElementsByTagName("content-type"): | |
| if getText(dom.getElementsByTagName("content-type")[0].childNodes)=="folder": | if getText(dom.getElementsByTagName("content-type")[0].childNodes)=="folder": |
| """folder nicht archivieren""" | """folder nicht archivieren""" |
| return 0 | return 0 |
| else: | |
| archive_storage_date=getText(dom.getElementsByTagName("archive-storage-date")[0].childNodes) | archive_storage_date=getText(dom.getElementsByTagName("archive-storage-date")[0].childNodes) |
| if archive_storage_date=="": | if archive_storage_date=="": |
| Line 477 class filesystem2(Implicit, Persistent, | Line 487 class filesystem2(Implicit, Persistent, |
| def getfs(self,start): | def getfs(self,start): |
| """load filessystem""" | """load filessystem""" |
| f = os.popen("find "+ start+" -name '*' ","r") | f = os.popen("find "+ start+" -name '*' ","r") |
| lines = f.readlines() | lines = f.readlines() |
| Line 612 class browse(Implicit, Persistent, RoleM | Line 623 class browse(Implicit, Persistent, RoleM |
| def getfs(start): | def getfs(start): |
| """return filesystem""" | """return filesystem""" |
| f = os.popen("find "+ start+" -name '*'","r") | f = os.popen("find "+ start+" -name '*'","r") |
| lines = f.readlines() | lines = f.readlines() |
| return lines | return lines |
| Line 882 def getBib(nodelist): | Line 895 def getBib(nodelist): |
| return rc+"</table>" | return rc+"</table>" |
| def getMetafile(path): | def getMetafile(path): |
| """get index.meta""" | """get index.meta and translate it to an HTML""" |
| html=[] | html=[] |
| if not os.path.exists(path+"/index.meta"): | if not os.path.exists(path+"/index.meta"): |
| Line 891 def getMetafile(path): | Line 904 def getMetafile(path): |
| f = os.popen("cat "+path+"/index.meta","r") | f = os.popen("cat "+path+"/index.meta","r") |
| lines = f.read() | lines = f.read() |
| dom = xml.dom.minidom.parseString(lines) | dom = xml.dom.minidom.parseString(lines) |
| try: | |
| name=getText(dom.getElementsByTagName("name")[0].childNodes) | name=getText(dom.getElementsByTagName("name")[0].childNodes) |
| except: | |
| name="NOT_DEFINED!!!" | |
| try: | |
| creator=getText(dom.getElementsByTagName("creator")[0].childNodes) | creator=getText(dom.getElementsByTagName("creator")[0].childNodes) |
| except: | |
| creator="NOT_DEFINED!!!" | |
| try: | |
| creation_date=getText(dom.getElementsByTagName("archive-creation-date")[0].childNodes) | creation_date=getText(dom.getElementsByTagName("archive-creation-date")[0].childNodes) |
| except: | |
| creation_date="NOT_DEFINED!!!" | |
| try: | |
| description=getText(dom.getElementsByTagName("description")[0].childNodes) | description=getText(dom.getElementsByTagName("description")[0].childNodes) |
| except: | |
| description="NOT_DEFINED!!!" | |
| try: | try: |
| type=getText(dom.getElementsByTagName("content-type")[0].childNodes) | type=getText(dom.getElementsByTagName("content-type")[0].childNodes) |
| except: | except: |