# HG changeset patch # User casties # Date 1370602031 -7200 # Node ID 2da62e93a1c6e2621f0d405517e3a73c284b28a3 # Parent 07beb979e7e40169afea7dba8996e483fd92db66 fix editing related projects. diff -r 07beb979e7e4 -r 2da62e93a1c6 MPIWGProjects.py --- a/MPIWGProjects.py Fri Jun 07 11:32:05 2013 +0200 +++ b/MPIWGProjects.py Fri Jun 07 12:47:11 2013 +0200 @@ -712,128 +712,6 @@ - def scaleImage(self,REQUEST=None,RESPONSE=None): - """scale the last image""" - from PIL import Image; - from cStringIO import StringIO; - import ImageFilter - - - - - images = self.getImageList(); - if len(images)>0: - img = images[-1] #nimmt das letze - - logging.debug(img) - datStringIO = StringIO(); - """ - data=img.data - if isinstance(data, str): - datStringIO.write(data) - else: - - while data is not None: - datStringIO.write(data.data) - data=data.next - - """ - - logging.debug(img.absolute_url()) - - url = img.absolute_url() - if not url.startswith("http"): - url=REQUEST['URL0']+url - ul = urllib.urlopen(url) - datStringIO = StringIO(ul.read()); - - - try: - pilImg = Image.open(datStringIO) - - - except: - logging.error("scale image input:"+self.getId()) - return - - w,h = pilImg.size - logging.debug("oldsize: %s %s"%(w,h)) - targetW=120. - targetH=75. - - if targetW == w and targetH == h: - return - facW=targetW/w - - h1 = int(h*facW) - - if h1 2: - pilImg = pilImg.filter(ImageFilter.BLUR) - - try: - pilImg = pilImg.filter(ImageFilter.MaxFilter(fs)) - except: - pilImg = pilImg.filter(ImageFilter.MaxFilter(fs-1)) - - logging.debug("Xnew size: %s %s"%(w1,targetH)) - res = pilImg.resize((w1,int(targetH)),Image.ANTIALIAS); - - - else: - fs = min(max(int(1/facW)+1,3),10) - logging.debug(fs) - - if (1/facW) > 2: - try: - pilImg = pilImg.filter(ImageFilter.BLUR) - except: - pass #some image types cannot be filter, just ignore - - try: - pilImg = pilImg.filter(ImageFilter.MaxFilter(fs)) - except: - - - try: - pilImg = pilImg.filter(ImageFilter.MaxFilter(fs-1)) - except: - pass - logging.debug("ynew size: %s %s"%(targetW,h1)) - res = pilImg.resize((int(targetW),h1)) - - nw,nh = res.size - - cutW1=int(nw/2-(targetW/2)) - cutW2=int(nw/2+(targetW/2)) - - cutH1=int(nh/2-(targetH/2)) - cutH2=int(nh/2+(targetH/2)) - - - - res2 = res.crop((cutW1,cutH1,cutW2,cutH2)) - - outS = StringIO() - - #res2.save("/tmp/"+self.getId()+".jpg") - - try: - res2.save(outS,"JPEG") - - self.addImage(outS, None, RESPONSE, filename="thumb.jpg") - - except: - logging.error("scale image:"+self.getId()) - - - def addImage(self, fileHd, caption, RESPONSE=None, filename=None): """add an MPIWG_Project_image""" @@ -1809,6 +1687,122 @@ self.redirect(RESPONSE, 'manageImages') + def scaleImage(self,REQUEST=None,RESPONSE=None): + """scale the last image""" + from PIL import Image; + from cStringIO import StringIO; + import ImageFilter + + images = self.getImageList(); + if len(images)>0: + img = images[-1] #nimmt das letze + + logging.debug(img) + datStringIO = StringIO(); + """ + data=img.data + if isinstance(data, str): + datStringIO.write(data) + else: + + while data is not None: + datStringIO.write(data.data) + data=data.next + + """ + + logging.debug(img.absolute_url()) + + url = img.absolute_url() + if not url.startswith("http"): + url=REQUEST['URL0']+url + ul = urllib.urlopen(url) + datStringIO = StringIO(ul.read()); + + + try: + pilImg = Image.open(datStringIO) + + + except: + logging.error("scale image input:"+self.getId()) + return + + w,h = pilImg.size + logging.debug("oldsize: %s %s"%(w,h)) + targetW=120. + targetH=75. + + if targetW == w and targetH == h: + return + facW=targetW/w + + h1 = int(h*facW) + + if h1 2: + pilImg = pilImg.filter(ImageFilter.BLUR) + + try: + pilImg = pilImg.filter(ImageFilter.MaxFilter(fs)) + except: + pilImg = pilImg.filter(ImageFilter.MaxFilter(fs-1)) + + logging.debug("Xnew size: %s %s"%(w1,targetH)) + res = pilImg.resize((w1,int(targetH)),Image.ANTIALIAS); + + + else: + fs = min(max(int(1/facW)+1,3),10) + logging.debug(fs) + + if (1/facW) > 2: + try: + pilImg = pilImg.filter(ImageFilter.BLUR) + except: + pass #some image types cannot be filter, just ignore + + try: + pilImg = pilImg.filter(ImageFilter.MaxFilter(fs)) + except: + + + try: + pilImg = pilImg.filter(ImageFilter.MaxFilter(fs-1)) + except: + pass + logging.debug("ynew size: %s %s"%(targetW,h1)) + res = pilImg.resize((int(targetW),h1)) + + nw,nh = res.size + + cutW1=int(nw/2-(targetW/2)) + cutW2=int(nw/2+(targetW/2)) + + cutH1=int(nh/2-(targetH/2)) + cutH2=int(nh/2+(targetH/2)) + + res2 = res.crop((cutW1,cutH1,cutW2,cutH2)) + + outS = StringIO() + + #res2.save("/tmp/"+self.getId()+".jpg") + + try: + res2.save(outS,"JPEG") + + self.addImage(outS, None, RESPONSE, filename="thumb.jpg") + + except: + logging.error("scale image:"+self.getId()) + + def updateProjectMembers(self, updateResponsibleScientistsList=False): """Update project-member table.""" # projects are identified by id diff -r 07beb979e7e4 -r 2da62e93a1c6 zpt/project/edit_related_projects.zpt --- a/zpt/project/edit_related_projects.zpt Fri Jun 07 11:32:05 2013 +0200 +++ b/zpt/project/edit_related_projects.zpt Fri Jun 07 12:47:11 2013 +0200 @@ -17,7 +17,7 @@ - Edit
+ Edit
Delete diff -r 07beb979e7e4 -r 2da62e93a1c6 zpt/project/edit_related_projects_error.zpt --- a/zpt/project/edit_related_projects_error.zpt Fri Jun 07 11:32:05 2013 +0200 +++ b/zpt/project/edit_related_projects_error.zpt Fri Jun 07 12:47:11 2013 +0200 @@ -1,8 +1,8 @@ - + - + diff -r 07beb979e7e4 -r 2da62e93a1c6 zpt/project/edit_template.zpt --- a/zpt/project/edit_template.zpt Fri Jun 07 11:32:05 2013 +0200 +++ b/zpt/project/edit_template.zpt Fri Jun 07 12:47:11 2013 +0200 @@ -9,7 +9,7 @@

(!!Project is not visible!!)

-

Edit project

+

Edit project