version 1.21, 2004/03/31 19:14:17
|
version 1.29, 2004/10/13 13:39:59
|
Line 9 import os
|
Line 9 import os
|
import os.path |
import os.path |
import urllib |
import urllib |
import xml.dom.minidom |
import xml.dom.minidom |
|
import operator |
|
|
def getText(nodelist): |
def getText(nodelist): |
|
|
Line 38 class ImageDigilib(Folder,Persistent,Imp
|
Line 39 class ImageDigilib(Folder,Persistent,Imp
|
|
|
request=self.REQUEST |
request=self.REQUEST |
objectCreate=objectType.createObjectManager(id,request) |
objectCreate=objectType.createObjectManager(id,request) |
#for field in self.leiden_meta_fields: |
|
# self.REQUEST[field]=argv[field] |
|
self._setObject(id,objectCreate) |
self._setObject(id,objectCreate) |
|
|
objectCreate.propertysheets.meta.manage_editProperties(request) |
objectCreate.propertysheets.meta.manage_editProperties(request) |
Line 69 class ImageDigilib(Folder,Persistent,Imp
|
Line 69 class ImageDigilib(Folder,Persistent,Imp
|
def uploadImage(self,fileupload,path_name): |
def uploadImage(self,fileupload,path_name): |
"""upload an Image from an Requast""" |
"""upload an Image from an Requast""" |
#path_name=self.ImageStoragePath |
#path_name=self.ImageStoragePath |
filename=path_name+"/"+fileupload.filename |
fn=os.path.split(fileupload.filename)[1] |
|
filename=path_name+"/"+fn |
filedata=fileupload.read() |
filedata=fileupload.read() |
f=open(filename,"w") |
f=open(filename,"w") |
f.write(filedata) |
f.write(filedata) |
f.close() |
f.close() |
|
try: |
os.chmod(filename,0644) |
os.chmod(filename,0644) |
|
except: |
|
"""hack""" |
|
|
os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath) |
os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/small 100 &"% self.ImageViewerPath) |
|
|
|
|
Line 110 class ImageDigilib(Folder,Persistent,Imp
|
Line 115 class ImageDigilib(Folder,Persistent,Imp
|
"""show image""" |
"""show image""" |
#DEVELOP: take first one for server |
#DEVELOP: take first one for server |
|
|
path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/digilib.jsp?lv=2&fn="+self.ImageViewerPath+"/"+self.filename |
path="http://content.mpiwg-berlin.mpg.de/zogilib_images?lv=2&fn="+self.ImageViewerPath+"/"+self.filename |
|
|
#path="http://localhost:8080/mpiwg/online/"+self.ImageViewerPath+"/"+self.filename |
#path="http://localhost:8080/mpiwg/online/"+self.ImageViewerPath+"/"+self.filename |
#self.REQUEST.SESSION['string']="<img src=\"%s\">"% path |
#self.REQUEST.SESSION['string']="<img src=\"%s\">"% path |
Line 126 def manage_AddImageDigilibForm(self):
|
Line 131 def manage_AddImageDigilibForm(self):
|
def manage_AddImageDigilib(self,id,fileupload,meta=None,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,meta) |
fn=os.path.split(fileupload.filename)[1] |
|
newObj=ImageDigilib(id,fn,meta) |
|
|
self._setObject(id,newObj) |
self._setObject(id,newObj) |
getattr(self,id).uploadImage(fileupload,self.ImageStoragePath) |
getattr(self,id).uploadImage(fileupload,self.ImageStoragePath) |
Line 164 class ImageCollection(Folder, Persistent
|
Line 170 class ImageCollection(Folder, Persistent
|
{'label':'Recalculate Metadata','action':'recalculateMeta'}, |
{'label':'Recalculate Metadata','action':'recalculateMeta'}, |
{'label':'Import Metadata','action':'importMetaForm'}, |
{'label':'Import Metadata','action':'importMetaForm'}, |
{'label':'Rescale thumbs','action':'scaleThumbs'}, |
{'label':'Rescale thumbs','action':'scaleThumbs'}, |
|
{'label':'Weight (ECHO)','action':'weightForm'}, |
) |
) |
|
|
|
def weightForm(self): |
|
"""Weight""" |
|
pt=PageTemplateFile('Products/ImageArchive/zpt/changeWeight.zpt').__of__(self) |
|
return pt() |
|
|
|
def changeWeight(self,weight,RESPONSE=None): |
|
"""Change weight""" |
|
self.weight=weight |
|
|
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
|
def importMetaForm(self): |
def importMetaForm(self): |
"""import metadata""" |
"""import metadata""" |
Line 491 class ImageCollection(Folder, Persistent
|
Line 510 class ImageCollection(Folder, Persistent
|
else: |
else: |
return "" |
return "" |
|
|
|
def showRuler(self,selected=None): |
|
"""show ruler""" |
|
showall =self.REQUEST.SESSION.get('showall','no') |
|
ids=self.show_thumbs() |
|
if len(ids)==0: |
|
return "<b>No entries</b>" |
|
|
|
if showall=='no': |
|
ids=self.show_thumbs() |
|
colRows=self.getColTimesRow() |
|
num=int(len(ids)/(colRows[0]*colRows[1])) |
|
if not (operator.mod(len(ids),colRows[0]*colRows[1])==0): |
|
num+=1 |
|
a=colRows[0]*colRows[1] |
|
#print num,num+1 |
|
if num>1: |
|
|
|
ret="<b>Show thumbnail group no:</b></br>" |
|
for i in range(num): |
|
if (operator.mod(i,10)==0) and i>0: |
|
ret +="<br/>" #alle 10 linebreak einfuegen |
|
k=i*a |
|
if selected: |
|
href=self.REQUEST['URL1']+"/selection?filename="+ids[k] |
|
else: |
|
href=self.REQUEST['URL1']+"?filename="+ids[int(k)] |
|
|
|
ret+="""<a href="%s" target="_top">%i</a> """%(href,i) |
|
|
|
else: |
|
ret="" |
|
ret+="""<a href="%s?showall=yes" target="_top">show all</a> """%self.REQUEST['URL1'] |
|
else: |
|
ret="""<a href="%s?showall=no" target="_top">show groups</a> """%self.REQUEST['URL1'] |
|
|
|
return ret |
|
|
def show_thumbs_selected_rows(self,numberOfColumns): |
def show_thumbs_selected_rows(self,numberOfColumns): |
"""Ausgabe anzahl""" |
"""Ausgabe anzahl""" |
ids=self.show_selected_thumbs() |
ids=self.show_selected_thumbs() |
Line 524 class ImageCollection(Folder, Persistent
|
Line 580 class ImageCollection(Folder, Persistent
|
|
|
RESPONSE.redirect(self.REQUEST['URL1']+"/setDone") |
RESPONSE.redirect(self.REQUEST['URL1']+"/setDone") |
|
|
def getColTimesRow(self): |
def getColTimesRow(self,showall='No'): |
"""coltimesrow""" |
"""coltimesrow""" |
|
|
REQUEST=self.REQUEST |
REQUEST=self.REQUEST |
Line 534 class ImageCollection(Folder, Persistent
|
Line 590 class ImageCollection(Folder, Persistent
|
try: |
try: |
rows=int(REQUEST.cookies["ImageViewerRows"]) |
rows=int(REQUEST.cookies["ImageViewerRows"]) |
except: |
except: |
rows=None |
rows=6 |
else: |
else: |
rows=None |
rows=6 |
|
|
if REQUEST.cookies.has_key("ImageViewerCols"): |
if REQUEST.cookies.has_key("ImageViewerCols"): |
#print "COLS",REQUEST.cookies["ImageViewerCols"] |
#print "COLS",REQUEST.cookies["ImageViewerCols"] |
cols=int(REQUEST.cookies["ImageViewerCols"]) |
cols=int(REQUEST.cookies["ImageViewerCols"]) |
else: |
else: |
cols=3 |
cols=2 |
|
|
idsnumber=len(self.show_thumbs()) |
idsnumber=len(self.show_thumbs()) |
if rows: |
if rows: |
if cols*rows >idsnumber: |
if cols*rows >idsnumber: |
rows=int(idsnumber/cols)+1 |
rows=int(idsnumber/cols)+1 |
|
|
|
#print cols,rows |
|
if showall=='yes': |
|
rows=int(idsnumber/cols)+1 |
|
|
return (cols,rows) |
return (cols,rows) |
|
|
|
|
Line 555 class ImageCollection(Folder, Persistent
|
Line 616 class ImageCollection(Folder, Persistent
|
"""Ausgabe anzahl""" |
"""Ausgabe anzahl""" |
|
|
idsAll=self.show_thumbs() |
idsAll=self.show_thumbs() |
|
if len(idsAll)==0: #keine Einträge |
|
return 0 |
if self.REQUEST.SESSION.has_key("filename"): |
if self.REQUEST.SESSION.has_key("filename"): |
filename=self.REQUEST.SESSION["filename"] |
filename=self.REQUEST.SESSION["filename"] |
|
|
|
|
try: |
try: |
startId=filename |
startId=filename |
|
if startId=="": |
|
startId=idsAll[0][0:] |
except: |
except: |
startId=idsAll[0] |
startId=idsAll[0][0:] |
else: |
else: |
startId=idsAll[0] |
startId=idsAll[0][0:] |
|
|
|
|
|
|
print "NOR:",numberOfRows |
|
|
|
if numberOfRows: |
if numberOfRows: |
|
|
|
startPic=idsAll.index(startId) |
try: |
try: |
|
|
startPic=idsAll.index(startId) |
startPic=idsAll.index(startId) |
endPic=startPic+numberOfColumns*numberOfRows |
endPic=startPic+numberOfColumns*numberOfRows |
ids=idsAll[startPic:endPic] |
ids=idsAll[startPic:endPic] |
except: |
except: |
ids=idsAll |
ids=idsAll |
else: |
else: |
|
|
ids=idsAll |
ids=idsAll |
|
|
|
|
Line 613 class ImageCollection(Folder, Persistent
|
Line 683 class ImageCollection(Folder, Persistent
|
pt=PageTemplateFile('Products/ImageArchive/zpt/thumb2.zpt').__of__(self) |
pt=PageTemplateFile('Products/ImageArchive/zpt/thumb2.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
def thumblistNewWindow(self): |
|
"""Thumbs mit clik neues Fenster oeffnen""" |
|
pt=PageTemplateFile('Products/ImageArchive/zpt/thumbNewWindow.zpt').__of__(self) |
|
return pt() |
|
|
|
|
def navig_selected_html(self): |
def navig_selected_html(self): |
"""navigation""" |
"""navigation""" |
#self.REQUEST.SESSION['URL']=self.REQUEST['URL0'] |
#self.REQUEST.SESSION['URL']=self.REQUEST['URL0'] |
Line 642 class ImageCollection(Folder, Persistent
|
Line 718 class ImageCollection(Folder, Persistent
|
filen=self.REQUEST['filename'] |
filen=self.REQUEST['filename'] |
else: |
else: |
filen="" |
filen="" |
|
|
self.REQUEST.SESSION['filename']=filen |
self.REQUEST.SESSION['filename']=filen |
|
|
|
if self.REQUEST.has_key('showall'): |
|
|
|
self.REQUEST.SESSION['showall']=self.REQUEST.get('showall') |
|
else: |
|
self.REQUEST.SESSION['showall']=self.REQUEST.SESSION.get('showall','no') |
|
|
|
|
pt=PageTemplateFile('Products/ImageArchive/zpt/overview.zpt').__of__(self) |
pt=PageTemplateFile('Products/ImageArchive/zpt/overview.zpt').__of__(self) |
return pt() |
return pt() |
|
|
Line 666 class ImageCollectionIFrame(ImageCollect
|
Line 751 class ImageCollectionIFrame(ImageCollect
|
meta_type="ImageCollectionIFrame" |
meta_type="ImageCollectionIFrame" |
label=ImageCollection.title |
label=ImageCollection.title |
|
|
|
def getImageTag(self): |
|
""" hack : method needed by echo_content""" |
|
return "" |
|
|
def rotate(self,angle,url,RESPONSE): |
def rotate(self,angle,url,RESPONSE): |
"""rotate""" |
"""rotate""" |
|
|