コード例 #1
0
ファイル: imagecontroller.py プロジェクト: annebaui/srimato
 def add_imageuri(self, uri, image):
     
     """ 
         Adds an Imageuri object to a Image Object
     """ 
 
     global ns_ma
     try:
         imageuri = Imageuri.get(uri=uri)
         if imageuri.image == image:
             return False       
     except Imageuri.DoesNotExist:
         imageuri = Imageuri.create(
             image=image,
             uri=uri,
         )
         imageuri.save()
         try: 
             imagefrag = ImageFragment.get(x=0, y=0, image=image)
             urimeta = self.add_metadata(imagefrag, ns_ma)
             self.add_annotation(urimeta, "relation", uri)
             return True
         except ImageFragment.DoesNotExist:
             return False
         return True
コード例 #2
0
ファイル: views.py プロジェクト: annebaui/srimato
def addimage():

    """
        if HTTP verb is POST the system checks, if the URI is already in the system
        if YES, the user is being redirected to the image
        if NOT, the image size is checked (for development, image width has to be < 680px)
        if it is allowed, the image is being saved as object, metadata gets extracted
        and the user is being redirected to the image page
        
        ***TODO***
        - check if url is for an image!
        --> Bad Request if not
    """
    
    if request.method == 'POST' and request.form['imageuri']:
        try:
            imageuri = Imageuri.get(uri=request.form['imageuri'])
            imageob = imageuri.image
            flash('Dieses Bild ist bereits im System gespeichert. Bitte waehle eine andere URI.', 'error')
            return redirect(url_for('image_detail', imageid=imageob.id))
        except Imageuri.DoesNotExist:
            imgsize = imgc.get_image_size(request.form['imageuri'])
            imgc.check_image_size(imgsize)
            if imgc.check_image_size(imgsize):
                imageob = imgc.create_new_image(request.form['imageuri'], imgsize)                
                flash('Dein Bild wurde erfolgreich ans System uebertragen. Starte nun mit deinen Annotationen.')
                return redirect(url_for('image_detail', imageid=imageob.id))
            else:
                flash('Dieses Bild ist zu gross. Bitte waehle ein Bild, dass maximal 680px breit ist!', 'error')
                return redirect(url_for('addimage'))
    return render_template('addimage.html')