version 1.38, 2004/11/18 16:34:36
|
version 1.41, 2004/12/21 17:22:22
|
Line 12 import xml.dom.minidom
|
Line 12 import xml.dom.minidom
|
import operator |
import operator |
import tempfile |
import tempfile |
import shutil |
import shutil |
|
from types import * |
|
|
|
|
try: |
try: |
from Products.ECHO_content.ECHO_collection import ECHO_basis |
from Products.ECHO_content.ECHO_collection import ECHO_basis |
except: |
except: |
print "ECHO Elements not imported" |
print "ECHO Elements not imported" |
ECHO_basis=None |
class ECHO_basis: |
|
"""leer""" |
|
manage_options=() |
|
|
|
|
|
|
def splitPath(str): |
def splitPath(str): |
str2=str.replace("\\","/") |
str2=str.replace("\\","/") |
Line 89 class ImageDigilib(Folder,Persistent,Imp
|
Line 94 class ImageDigilib(Folder,Persistent,Imp
|
f.write(filedata) |
f.write(filedata) |
f.close() |
f.close() |
try: |
try: |
os.chmod(filename,0644) |
os.chmod(filename,0664) |
except: |
except: |
"""hack""" |
"""hack""" |
#scale thumb |
#scale thumb |
Line 207 def manage_AddImageDigilibForm(self):
|
Line 212 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'] |
fn=splitPath(fileupload.filename) |
fn=splitPath(fileupload.filename) |
newObj=ImageDigilib(id,fn,meta) |
newObj=ImageDigilib(id,fn,meta) |
Line 218 def manage_AddImageDigilib(self,id,fileu
|
Line 224 def manage_AddImageDigilib(self,id,fileu
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
class ImageCollection(Folder, Persistent, Implicit, ECHO_basis): |
class ImageCollection(Folder, Persistent, Implicit, ECHO_basis): |
|
|
"""Sammelordner für Bilder""" |
"""Sammelordner für Bilder""" |
meta_type="ImageCollection" |
meta_type="ImageCollection" |
|
|
|
|
|
|
genericMetaDataType="leiden_meta" |
genericMetaDataType="leiden_meta" |
|
|
leiden_meta_fields=['image_id','date','country','place','people','description','photographer'] |
leiden_meta_fields=['image_id','date','country','place','people','description','photographer'] |
Line 299 class ImageCollection(Folder, Persistent
|
Line 309 class ImageCollection(Folder, Persistent
|
#folgeseiten |
#folgeseiten |
if int(self.REQUEST.SESSION['filenamesIds'][id[0]][1])>1: |
if int(self.REQUEST.SESSION['filenamesIds'][id[0]][1])>1: |
ids=self.show_thumbs() |
ids=self.show_thumbs() |
|
try: |
nr=ids.index(id[0]) |
nr=ids.index(id[0]) |
|
except: |
|
if RESPONSE: |
|
RESPONSE.write(str("<p>Error in File: %s (possible missing)<br>\n"%id[0])) |
|
else: |
|
"""nothing""" |
|
|
|
nr=0 |
|
|
numberOfPages=self.REQUEST.SESSION['filenamesIds'][id[0]][1] |
numberOfPages=self.REQUEST.SESSION['filenamesIds'][id[0]][1] |
for k in range(int(numberOfPages)-1): |
for k in range(int(numberOfPages)-1): |
Line 408 class ImageCollection(Folder, Persistent
|
Line 426 class ImageCollection(Folder, Persistent
|
self.ImageViewerPath=ImageViewerPath |
self.ImageViewerPath=ImageViewerPath |
self.defaultMetaString=defaultMetaString |
self.defaultMetaString=defaultMetaString |
|
|
if ECHO_basis: |
|
optTMP= Folder.manage_options+ECHO_basis.manage_options |
|
else: |
|
optTMP= Folder.manage_options |
optTMP= Folder.manage_options |
|
|
manage_options = optTMP+( |
manage_options = optTMP+( |
Line 537 class ImageCollection(Folder, Persistent
|
Line 552 class ImageCollection(Folder, Persistent
|
|
|
url=urllib.unquote(url) |
url=urllib.unquote(url) |
xmldoc=urllib.urlopen(url).read() |
xmldoc=urllib.urlopen(url).read() |
#print url |
#return xmldoc |
try: |
try: |
dom=xml.dom.minidom.parseString(xmldoc) |
dom=xml.dom.minidom.parseString(xmldoc) |
except: |
except: |
Line 548 class ImageCollection(Folder, Persistent
|
Line 563 class ImageCollection(Folder, Persistent
|
fnIds={} |
fnIds={} |
for image in images: |
for image in images: |
imagename=image.getElementsByTagName('imagename')[0] |
imagename=image.getElementsByTagName('imagename')[0] |
text=getText(imagename.childNodes) |
|
|
|
|
|
idnr=image.getElementsByTagName('idnr')[0] |
idnr=image.getElementsByTagName('idnr')[0] |
id=getText(idnr.childNodes) |
id=getText(idnr.childNodes) |
numberOfPages=image.getElementsByTagName('numberOfPages')[0] |
numberOfPages=image.getElementsByTagName('numberOfPages')[0] |
Line 557 class ImageCollection(Folder, Persistent
|
Line 574 class ImageCollection(Folder, Persistent
|
nop=int(nopT) |
nop=int(nopT) |
except: |
except: |
nop=0 |
nop=0 |
|
texts=getText(imagename.childNodes).split("\n") #mehrere bilder in return getrennter liste |
|
for text in texts: |
if not text=="": |
if not text=="": |
try: |
try: |
rc.append((str(text),id,nop)) |
rc.append((str(text),id,nop)) |
Line 565 class ImageCollection(Folder, Persistent
|
Line 584 class ImageCollection(Folder, Persistent
|
rc.append((repr(text),id,nop)) |
rc.append((repr(text),id,nop)) |
fnIds[repr(text)]=(id,nop) |
fnIds[repr(text)]=(id,nop) |
|
|
|
|
rc.sort() |
rc.sort() |
self.REQUEST.SESSION['filenames']=rc |
self.REQUEST.SESSION['filenames']=rc |
self.REQUEST.SESSION['filenamesIds']=fnIds |
self.REQUEST.SESSION['filenamesIds']=fnIds |
Line 585 class ImageCollection(Folder, Persistent
|
Line 605 class ImageCollection(Folder, Persistent
|
|
|
def addImage(self): |
def addImage(self): |
"""Add an Image""" |
"""Add an Image""" |
|
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addImage.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addImage.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
def addImage2(self,fileupload,meta,use_default=None,RESPONSE=None): |
def addImage2(self,fileupload,meta,use_default=None,RESPONSE=None): |
"""Add""" |
"""Add""" |
|
|
#print "FU",fileupload |
#print "FU",fileupload |
|
|
if use_default: |
if use_default: |