def thumbnail(self): """ Get the thumbnail of the item """ thumbnail = Item.asciify_string(os.path.join(self.get_dir(), "thumbnail_%s.png"%(os.path.basename(self.original_image_name)))) if not (hasattr(self, 'do_not_generate') and self.do_not_generate) and not os.path.isfile(thumbnail): generate_thumbnail(self.original_image_name, thumbnail) return thumbnail
def delete(self): for child in self.children: child.delete() shutil.rmtree(Item.asciify_string(self.get_dir())) try: super().delete() except: pass
def thumbnail(self): """ Get the thumbnail of the item """ thumbnail = Item.asciify_string( os.path.join( self.get_dir(), "thumbnail_%s.png" % (os.path.basename(self.original_image_name)))) if not (hasattr(self, 'do_not_generate') and self.do_not_generate) and not os.path.isfile(thumbnail): generate_thumbnail(self.original_image_name, thumbnail) return thumbnail
def create_category_dir(target, value, oldvalue, initiator): """ Create of move the category directory """ initiator = initiator base = target.get_base() new_dir = Item.asciify_string(os.path.join(base, value)) if not oldvalue: old_dir = os.path.join(base, oldvalue) os.renames(old_dir, new_dir) else: try: os.makedirs(new_dir) except os.error: pass
def image(self, val): """ Set the image of the item """ val.file.seek(0) ext = imghdr.what('unused', val.file.read()) val.file.seek(0) path = Item.asciify_string(os.path.join(self.get_dir(), "Picture_original_%s.%s" % (self.name,ext))) self.original_image_name = path output_file = open(path, 'wb') while not val.file.closed: data = val.file.read(2 << 16) if not data: val.file.close() output_file.write(data) output_file.close()
def view_thumbnail_over(self): """ Display the thumbnail_over of a item """ iditem = int(self.request.matchdict.get('idItem', -1)) nameitem = self.request.matchdict.get('nameItem', '') item = Item.by_uid(iditem) if item is None or item.name != nameitem: return HTTPNotFound("Item %s-%s not found", iditem, nameitem) thumb = item.thumbnailover response = FileResponse(thumb, request=self.request, content_type='image/jpeg') return response
def new_link(self): """ Display the link form for an item """ iditem = int(self.request.matchdict.get('idItem', -1)) nameitem = self.request.matchdict.get('nameItem', None) item = Item.by_uid(iditem) if item is None: return HTTPNotFound() if item.link != None: form = LinkForm(self.request.POST, request=self.request, obj=item.link) else: form = LinkForm(self.request.POST, request=self.request) if self.request.method == 'POST' and form.validate(): session = Picture.get_session() try: # pylint: disable=E1101 with session.begin_nested(): if item.link != None: link = item.link else: link = Link() link.item = item # pylint: disable=E1101 form.populate_obj(link) if item.uid is None: # pylint: disable=E1101 session.add(link) session.flush() session.commit() url = item.view_url(self.request) return HTTPFound(url) except IntegrityError: errors = form.errors.get('name', []) errors.append("Nom déjà existant") form.errors['name'] = errors return {'tags' : Tag.all(), 'title': 'Nouveau Lien', 'idItem': iditem, 'item': item, 'form': form}
def image(self, val): """ Set the image of the item """ val.file.seek(0) ext = imghdr.what('unused', val.file.read()) val.file.seek(0) path = Item.asciify_string( os.path.join(self.get_dir(), "Picture_original_%s.%s" % (self.name, ext))) self.original_image_name = path output_file = open(path, 'wb') while not val.file.closed: data = val.file.read(2 << 16) if not data: val.file.close() output_file.write(data) output_file.close()
def getOriginalImageName(self, ext): log.error("GetOriginalImageName - %s - %s - %s", ext, self.get_dir(), self.name) return Item.asciify_string( os.path.join(self.get_dir(), "Category_original_%s.%s" % (self.name, ext)))