--- ImageArchive/ImageArchive.py 2005/01/25 12:26:56 1.44
+++ ImageArchive/ImageArchive.py 2005/03/18 14:28:00 1.48
@@ -13,7 +13,7 @@ import operator
import tempfile
import shutil
from types import *
-
+import time
try:
from Products.ECHO_content.ECHO_collection import ECHO_basis
@@ -193,7 +193,7 @@ class ImageDigilib(Folder,Persistent,Imp
self.REQUEST.RESPONSE.setHeader("Content-Disposition","""attachement; filename="%s" """%filename)
self.REQUEST.RESPONSE.setHeader("Content-Type","application/octet-stream")
#print path
- imagefh=urllib.urlopen(path)
+ imagefh=urllib.urlopen(path,'rb')
self.REQUEST.RESPONSE.write(imagefh.read())
self.REQUEST.RESPONSE.close()
@@ -223,10 +223,30 @@ class ImageDigilib(Folder,Persistent,Imp
#umbenennen des versionsfolders
oldfolder=os.path.join(self.ImageStoragePath,"."+oldname+".dir")
+ newfolder=os.path.join(self.ImageStoragePath,"."+newname+".dir")
if os.path.exists(oldfolder):
- newfolder=os.path.join(self.ImageStoragePath,"."+newname+".dir")
- os.rename(oldfolder,newfolder)
-
+ os.rename(oldfolder,newfolder)
+ else:
+ os.mkdir(newfolder)
+
+ #schreibe info uber umbennenung
+
+ renameName=os.path.join(newfolder,"renamed")
+ if os.path.exists(renameName):
+ fh=file(renameName,'a')
+ else:
+ fh=file(renameName,'w')
+
+ tm=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
+ try:
+ user=self.REQUEST['AUTHENTICATED_USER']
+ except:
+ user="unknown"
+
+ str="""%s %s %s %s\n"""%(tm,user,oldname,newname)
+ fh.write(str)
+ fh.close()
+
#scale thumb
self.scaleThumbs()
@@ -288,7 +308,7 @@ class ImageDigilib(Folder,Persistent,Imp
return "done"
- def thumb(self):
+ def thumb(self,url=None):
"""show thumb"""
thumbname=os.path.splitext(self.filename)[0]+".jpg"
## if not os.path.exists("/mpiwg/temp/online/scaled/small/"+self.ImageViewerPath+"/"+thumbname):
@@ -303,8 +323,11 @@ class ImageDigilib(Folder,Persistent,Imp
path="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?fn="+self.ImageViewerPath+"/"+os.path.splitext(self.filename)[0]+"&dw=100&dh=100&mo=lores"
#path="/mpiwg/online/"+self.ImageViewerPath+"/"+thumbname
self.REQUEST.SESSION['string']=""% path
- pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumb.zpt')).__of__(self)
- return pt()
+ if url:
+ return ""% path
+ else:
+ pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','thumb.zpt')).__of__(self)
+ return pt()
def index_html(self):
"""show image"""
@@ -833,9 +856,10 @@ class ImageCollection(Folder, Persistent
def show_selected_thumbs(self):
#ids=[]
-
- return self.REQUEST.SESSION['filenames']
-
+ try:
+ return self.REQUEST.SESSION['filenames']
+ except:
+ return None
def show_thumbs(self):
ids=[]
for entry in self.__dict__:
@@ -974,6 +998,9 @@ class ImageCollection(Folder, Persistent
def show_thumbs_selected_rows(self,numberOfColumns):
"""Ausgabe anzahl"""
ids=self.show_selected_thumbs()
+
+ if not ids:
+ return None
self.REQUEST.SESSION['ids']=ids
number=int(len(ids)/numberOfColumns)+1
self.REQUEST.SESSION['number']=range(number)
@@ -1044,7 +1071,7 @@ class ImageCollection(Folder, Persistent
return 0
if self.REQUEST.SESSION.has_key("filename"):
filename=self.REQUEST.SESSION["filename"]
-
+ filename=self.getImageByName(filename,onlyName="yes")
try:
startId=filename
@@ -1136,7 +1163,25 @@ class ImageCollection(Folder, Persistent
self.REQUEST.SESSION['filename']=filen
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','overview_selected2.zpt')).__of__(self)
return pt()
+
+ def getImageByName(self,filename,onlyName=None):
+ """get filename"""
+ fn=getattr(self,filename,None)
+ if not fn:
+ filenameM=filename.split(".")[0]
+ founds=self.ZopeFind(self,obj_metatypes=['ImageDigilib'])
+ for found in founds:
+ foundM=found[0].split(".")[0]
+ if filenameM.lower()==foundM.lower():
+ if onlyName:
+ return found[0]
+ else:
+ return found[1]
+ if onlyName:
+ return filename
+ else:
+ return fn
def index_html(self):
"""main template collection"""
if self.REQUEST.has_key('filename'):