|
|
| version 1.2, 2003/12/03 15:51:21 | version 1.3, 2003/12/04 19:02:59 |
|---|---|
| Line 24 class ImageDigilib(SimpleItem,Persistent | Line 24 class ImageDigilib(SimpleItem,Persistent |
| """Anzeige object fuer digilib""" | """Anzeige object fuer digilib""" |
| meta_type="ImageDigilib" | meta_type="ImageDigilib" |
| def __init__(self,id,filename): | def __init__(self,id,filename,meta=None): |
| self.id=id | self.id=id |
| self.title=filename | self.title=filename |
| self.filename=filename | self.filename=filename |
| self.meta=meta | |
| def getMeta(self): | |
| """ausgabe der metadaten""" | |
| return self.meta | |
| def uploadImage(self,fileupload,path_name): | def uploadImage(self,fileupload,path_name): |
| """upload an Image from an Requast""" | """upload an Image from an Requast""" |
| Line 38 class ImageDigilib(SimpleItem,Persistent | Line 43 class ImageDigilib(SimpleItem,Persistent |
| f.write(filedata) | f.write(filedata) |
| f.close() | f.close() |
| os.chmod(filename,0644) | os.chmod(filename,0644) |
| os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath) | |
| def download(self): | def download(self): |
| """download""" | """download""" |
| path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&mo=file" | path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&mo=rawfile,highres" |
| #self.REQUEST.SESSION['string']="<img src=\"%s\">"% path | #self.REQUEST.SESSION['string']="<img src=\"%s\">"% path |
| #pt=PageTemplateFile('Products/ImageArchive/thumb.zpt').__of__(self) | #pt=PageTemplateFile('Products/ImageArchive/thumb.zpt').__of__(self) |
| return self.REQUEST.RESPONSE.redirect(path) | return self.REQUEST.RESPONSE.redirect(path) |
| def thumb(self): | def thumb(self): |
| """show thumb""" | """show thumb""" |
| if not os.path.exists("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+self.filename): | thumbname=os.path.splitext(self.filename)[0]+".jpg" |
| #image=urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=150").read() | ## if not os.path.exists("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname): |
| #f=open("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+self.filename,"w") | ## image=urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:18080/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=150&mo=lores").read() |
| #f.write(image) | ## f=open("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname,"w") |
| #f.close() | ## f.write(image) |
| os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 150 &"% self.ImageViewerPath) | ## f.close() |
| ## os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 150 &"% self.ImageViewerPath) | |
| #path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=100&dh=100" | path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+self.filename+"&dw=100&dh=100&mo=lores" |
| path="/thumbs"+self.ImageViewerPath+"/"+self.filename | #path="/thumbs"+self.ImageViewerPath+"/"+thumbname |
| self.REQUEST.SESSION['string']="<img src=\"%s\">"% path | self.REQUEST.SESSION['string']="<img border=\"0\" src=\"%s\">"% path |
| pt=PageTemplateFile('Products/ImageArchive/thumb.zpt').__of__(self) | pt=PageTemplateFile('Products/ImageArchive/thumb.zpt').__of__(self) |
| return pt() | return pt() |
| Line 75 def manage_AddImageDigilibForm(self): | Line 85 def manage_AddImageDigilibForm(self): |
| pt=PageTemplateFile('Products/ImageArchive/AddImageDigilibForm.zpt').__of__(self) | pt=PageTemplateFile('Products/ImageArchive/AddImageDigilibForm.zpt').__of__(self) |
| return pt() | return pt() |
| def manage_AddImageDigilib(self,id,fileupload,RESPONSE=None): | def manage_AddImageDigilib(self,id,fileupload,meta=None,RESPONSE=None): |
| """Add ImageCollection""" | """Add ImageCollection""" |
| #fileupload=self.REQUEST['fileupload'] | #fileupload=self.REQUEST['fileupload'] |
| newObj=ImageDigilib(id,fileupload.filename) | newObj=ImageDigilib(id,fileupload.filename,meta) |
| self._setObject(id,newObj) | self._setObject(id,newObj) |
| getattr(self,id).uploadImage(fileupload,self.ImageStoragePath) | getattr(self,id).uploadImage(fileupload,self.ImageStoragePath) |
| Line 91 class ImageCollection(Folder, Persistent | Line 101 class ImageCollection(Folder, Persistent |
| """Sammelordner für Bilder""" | """Sammelordner für Bilder""" |
| meta_type="ImageCollection" | meta_type="ImageCollection" |
| def __init__(self,id,title,ImageStoragePath,ImageViewerPath): | defaultMetaString="http://fm-web.mpiwg-berlin.mpg.de:8050/FMRes/FMPJS?-db=Wissenschaftlerportraits.fp5&-layID=69&-token=25&-max=1&-format=formvwcss.htm&-mode=browse&images::filename=%s&-find" ## TEST FUER IMAGEDATENBANK WP |
| def __init__(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString): | |
| self.id=id | self.id=id |
| self.title=title | self.title=title |
| self.ImageStoragePath=ImageStoragePath | self.ImageStoragePath=ImageStoragePath |
| self.ImageViewerPath=ImageViewerPath | self.ImageViewerPath=ImageViewerPath |
| self.defaultMetaString=defaultMetaString | |
| manage_options = Folder.manage_options+( | manage_options = Folder.manage_options+( |
| {'label':'Main Config','action':'ImageCollection_config'}, | {'label':'Main Config','action':'ImageCollection_config'}, |
| {'label':'Import','action':'ImportFiles'}, | {'label':'Import','action':'ImportFiles'}, |
| {'label':'Recalculate Metadate','action':'recalculateMeta'}, | |
| ) | ) |
| def meta_default(self,filename): | |
| """url der metadaten""" | |
| return self.defaultMetaString % filename | |
| def getThumbAttribute(self,id,attr): | def getThumbAttribute(self,id,attr): |
| if hasattr(self,id): | if hasattr(self,id): |
| return getattr(getattr(self,id),attr) | return getattr(getattr(self,id),attr) |
| Line 134 class ImageCollection(Folder, Persistent | Line 153 class ImageCollection(Folder, Persistent |
| pt=PageTemplateFile('Products/ImageArchive/overview_selected.zpt').__of__(self) | pt=PageTemplateFile('Products/ImageArchive/overview_selected.zpt').__of__(self) |
| return pt() | return pt() |
| def recalculateMeta(self): | |
| """recalculate the metadata""" | |
| for entryid in self.__dict__: | |
| entry=getattr(self,entryid) | |
| if hasattr(entry,'meta_type'): | |
| if entry.meta_type=="ImageDigilib": | |
| entry.meta=entry.meta_default(entry.getId()) | |
| return "OK" | |
| def addImage(self): | def addImage(self): |
| """Add an Image""" | """Add an Image""" |
| pt=PageTemplateFile('Products/ImageArchive/addImage.zpt').__of__(self) | pt=PageTemplateFile('Products/ImageArchive/addImage.zpt').__of__(self) |
| return pt() | return pt() |
| def addImage2(self,fileupload,RESPONSE=None): | def addImage2(self,fileupload,meta,use_default,RESPONSE=None): |
| """Add""" | """Add""" |
| #print "FU",fileupload | #print "FU",fileupload |
| manage_AddImageDigilib(self,fileupload.filename,fileupload) | |
| if use_default: | |
| try: | |
| meta=self.meta_default(fileupload.filename) | |
| except: | |
| meta=None | |
| manage_AddImageDigilib(self,fileupload.filename,fileupload,meta=meta) | |
| return RESPONSE.redirect(self.REQUEST['URL1']+'/'+fileupload.filename) | return RESPONSE.redirect(self.REQUEST['URL1']+'/'+fileupload.filename) |
| #return self.REQUEST['URL1']+'/'+fileupload.filename | #return self.REQUEST['URL1']+'/'+fileupload.filename |
| def ImportFiles2(self,RESPONSE=None): | |
| """Import the existing files of a folder""" | |
| files=os.listdir(self.ImageStoragePath) | |
| ret="" | |
| #print self.__dict__ | |
| for file in files: | |
| if not file[0]==".": | |
| if self.__dict__.has_key(file): | |
| ret=ret+"<br>"+file+" already exists!" | |
| else: | |
| ret=ret+"<br>"+file+" created!" | |
| meta=self.meta_default(file) | |
| newObj=ImageDigilib(file,file,meta) | |
| #print newObj,file | |
| #print newObj | |
| self._setObject(file,newObj) | |
| #print ret | |
| #pt=PageTemplateFile('Products/ImageArchive/out.zpt').__of__(self) | |
| #print self.ImageStoragePath | |
| os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath) | |
| RESPONSE.redirect('manage_main') | |
| def ImportFiles(self,RESPONSE=None): | def ImportFiles(self,RESPONSE=None): |
| """Import the existing files of a folder""" | """Import the existing files of a folder""" |
| files=os.listdir(self.ImageStoragePath) | files=os.listdir(self.ImageStoragePath) |
| Line 164 class ImageCollection(Folder, Persistent | Line 223 class ImageCollection(Folder, Persistent |
| #print newObj | #print newObj |
| self._setObject(file,newObj) | self._setObject(file,newObj) |
| #print ret | #print ret |
| pt=PageTemplateFile('Products/ImageArchive/out.zpt',ret).__of__(self) | #pt=PageTemplateFile('Products/ImageArchive/out.zpt').__of__(self) |
| #print self.ImageStoragePath | |
| os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath) | |
| RESPONSE.redirect('manage_main') | RESPONSE.redirect('manage_main') |
| def ImageCollection_config(self): | def ImageCollection_config(self): |
| """Nothing yet""" | """Nothing yet""" |
| if not hasattr(self,'defaultMetaString'): | |
| self.defaultMetaString="" | |
| pt=PageTemplateFile('Products/ImageArchive/ChangeImageCollectionForm.zpt').__of__(self) | pt=PageTemplateFile('Products/ImageArchive/ChangeImageCollectionForm.zpt').__of__(self) |
| return pt() | return pt() |
| def ChangeImageCollection(self,title,ImageStoragePath,ImageViewerPath,RESPONSE=None): | def ChangeImageCollection(self,title,ImageStoragePath,ImageViewerPath,defaultMetaString,RESPONSE=None): |
| """Change""" | """Change""" |
| self.title=title | self.title=title |
| self.ImageStoragePath=ImageStoragePath | self.ImageStoragePath=ImageStoragePath |
| self.ImageViewerPath=ImageViewerPath | self.ImageViewerPath=ImageViewerPath |
| self.defaultMetaString=defaultMetaString | |
| if RESPONSE is not None: | if RESPONSE is not None: |
| RESPONSE.redirect('manage_main') | RESPONSE.redirect('manage_main') |
| Line 262 def manage_AddImageCollectionForm(self): | Line 327 def manage_AddImageCollectionForm(self): |
| pt=PageTemplateFile('Products/ImageArchive/AddImageCollectionForm.zpt').__of__(self) | pt=PageTemplateFile('Products/ImageArchive/AddImageCollectionForm.zpt').__of__(self) |
| return pt() | return pt() |
| def manage_AddImageCollection(self,id,title,ImageStoragePath,ImageViewerPath,RESPONSE=None): | def manage_AddImageCollection(self,id,title,ImageStoragePath,ImageViewerPath,defaultMetaString,RESPONSE=None): |
| """Add ImageCollection""" | """Add ImageCollection""" |
| newObj=ImageCollection(id,title,ImageStoragePath,ImageViewerPath) | newObj=ImageCollection(id,title,ImageStoragePath,ImageViewerPath,defaultMetaString) |
| self._setObject(id,newObj) | self._setObject(id,newObj) |
| if RESPONSE is not None: | if RESPONSE is not None: |