Example #1
0
def user_icon_up_file():
    is_login()
    file = request.files['picfile']
    if g.user and file and allowed_file( file.filename ):
        #user = session.query( Users_icon ).filter_by( uid = uid ).first()
        #0-9是随机的目录
        tmp = str(random.randrange(0,9))
        filename = tmp+'/'+str( g.user.id ) + "-" + str( int(time.time()) ) + "." + file.filename.rsplit( '.', 1 )[1]
        file.save( os.path.join( app.config['AVATAR_IMAGE_PATH'], filename ) )
        try:
            ed_icon = Users_icon.query.filter_by( uid = g.user.id ).first()
        except:
            ed_icon = Users_icon()
        ed_icon.image_name = filename
        import Image
        iconname = str( g.user.id ) + "-"+ str( int(time.time()) ) + file.filename.rsplit( '.', 1 )[1]
        im = Image.open( image_path + "/" + filename )
        image2 = pic_square( im, 48 )
        image2.save( os.path.join( app.config['AVATAR_PATH'], filename ) )
        ed_user = User.query.filter_by( id = g.user.id ).first()
        ed_user.avatar = filename
        db.session.commit()
        flash(u"图片上传成功,请编辑头像。", "success")
        #清除缓存
        cache.delete('session_login_uid_'+str(session['user_id']))         
    return redirect(url_for("account.user_icon") )
Example #2
0
def edit_group(slug):
    is_login()
    group = Group.query.urlname_get_info(slug)
    form = Group_EditForm(obj=group)
    #判断权限
    if group.leader_id != g.user.id:
        flash(u'对不起,您无权操作!', "error")
        return redirect(url_for("group.group_view",slug=slug))
    if form.validate_on_submit():
        form.populate_obj(group)
        try:
            file = request.files['group_icon']
        except:
            file = None        
        #获取图标文件
        if file:
            image_path = '/home/lyping/data/42ic/' + 'iapp/static/groupicon/image'
            icon_path = '/home/lyping/data/42ic/' + 'iapp/static/groupicon'
            ALLOWED_EXTENSIONS = set( ['bmp', 'png', 'jpg', 'jpeg', 'gif', 'BMP', 'PNG', 'JPG', 'JPEG', 'GIF'] )            
            #存储原文件
            filename = str( group.id ) + "-" + str( int(time.time()) ) + "." + file.filename.rsplit( '.', 1 )[1]
            file.save( os.path.join( image_path, filename ) )
            #产生缩略图
            import Image
            from iapp.utils.pic import picopen, pic_square
            iconname = str( group.id ) + "-"+ str( int(time.time()) ) + file.filename.rsplit( '.', 1 )[1]
            im = Image.open( image_path + "/" + filename )
            image2 = pic_square( im, 48 )
            image2.save( os.path.join( icon_path, filename ) )
            #存储图标名称
            group.group_icon_url = filename
        db.session.commit()
        flash(u'资料修改成功!', "success")
        return redirect(url_for("group.group_view",slug=slug))
    return render_template('group/edit_group.html', form = form,group=group)
Example #3
0
def user_icon():
    is_login()
    if request.method == 'POST':
        xyh = request.form['imgpos'].split('_')
        ed_icon = Users_icon.query.filter_by( uid = g.user.id ).first()
        ed_icon.x = x = int(xyh[0])
        ed_icon.y = y = int(xyh[1])
        ed_icon.h = h = int(xyh[2])
        db.session.commit()
        #处理图片并保存
        import Image
        im = Image.open( app.config['AVATAR_IMAGE_PATH'] + "/" + ed_icon.image_name )
        box = (x,y,x+h,y+h)
        #裁剪图片
        image = im.crop(box)
        #缩略图片
        image2 = pic_square( image, 48)
        del image
        tmp = str(random.randrange(0,9))
        filename = tmp+'/'+str( g.user.id ) + "-" + str( int(time.time()) ) + "." + ed_icon.image_name.rsplit( '.', 1 )[1]
        image2.save( os.path.join( app.config['AVATAR_PATH'], filename ) )
        #更新用户资料
        ed_user = User.query.filter_by( id = g.user.id ).first()
        ed_user.avatar = filename
        db.session.commit()
        flash(u"头像编辑成功。", "success")
        #清除缓存
        cache.delete('session_login_uid_'+str(session['user_id']))         
    d = {}
    ed_icon = Users_icon.query.filter_by( uid = g.user.id ).first()
    d['icon_image_url'] = "avatar/image/" + ed_icon.image_name
    d['icon_x'] = ed_icon.x
    d['icon_y'] = ed_icon.y
    d['icon_h'] = ed_icon.h
    return render_template( 'account/user_icon.html',**d)