Exemplo n.º 1
0
    def post(self):
        self.xsrf_form_html()
        email = self.get_argument("email", default="")
        if email != "":
            s = db.session()
            user = s.query(db.User).filter_by(email=email).first()
            s.close()
            if user:
                res = {"errno": "-1", "err": "该邮箱已注册"}
                self.write(res)
            else:
                user_name = self.get_argument("user_name", default="")
                password = self.get_argument("password", default="")
                is_active = self.get_argument("is_active", default="")
                print(user_name + "/" + password + "/" + is_active)
                if (user_name != "") & (password != "") & (is_active != ""):

                    adduser = db.User(email=email,
                                      username=user_name,
                                      password=password,
                                      is_active=is_active)
                    s = db.session()
                    s.add(adduser)
                    s.commit()
                    s.close()
                    res = {"errno": "1", "err": "用户成功添加"}
                    self.write(res)
                else:
                    res = {"errno": "-1", "err": "请填写完整信息"}
                    self.write(res)

        else:
            res = {"errno": "-1", "err": "请输入邮箱"}
            self.write(res)
Exemplo n.º 2
0
 def get(self):
     self.xsrf_form_html()
     user_id = self.get_argument("user_id", default="")
     s = db.session()
     user_infos = s.query(db.User).filter_by(id=(user_id)).first()
     s.close()
     self.render("manager_user_edit.html", user_infos=user_infos)
Exemplo n.º 3
0
 def put(self):
     self.xsrf_form_html()
     user_id = tornado.escape.json_decode(self.get_secure_cookie("user_id"))
     if(self.request.files["file"][0] and (user_id != "")):
         #保存图片
         data=self.request.files["file"][0]
         #time = datetime.datetime.now() #sql time: .strftime("%Y-%m-%d %H:%M:%S")
         md5 = hashlib.md5()
         md5.update(data["body"])
         md5encode = md5.hexdigest()
         ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
         extension = data["filename"].split(".")[-1]
         head = data["filename"].rstrip("."+extension)
         #将文件名中文转化为拼音
         pinyin = Pinyin()
         head = pinyin.get_pinyin(head)
         #中文转拼音结束
         savename = head + "_" + md5encode + ran_str + "." + extension #time.strftime("%Y_%m_%d_%H_%M_%S")+"_"+md5encode+"."+data["filename"].split(".")[-1]
         with open(os.path.join("static","profilephoto",savename),"wb") as up:            
                 up.write(data["body"])
         # print(user)
         s=db.session()
         user_infos = s.query( db.User ).filter_by(id = user_id ).first()
         if (user_infos.profilephoto != DEFAULT_PROFILE_PHOTO) and (os.path.exists("static/"+user_infos.profilephoto)):
             os.remove("static/"+user_infos.profilephoto)
         user_infos.profilephoto = "profilephoto/"+savename
         s.commit()
         s.close()
         res = {"msg":"上传成功"}
         self.write(res)
     else:
         res = {"msg":"上传错误"}
         self.write(res)
Exemplo n.º 4
0
 def put(self):
     self.xsrf_form_html()
     picid = self.get_argument("picid", default="")
     code = self.get_argument("code", default="")
     name = self.get_argument("name", default="")
     address = self.get_argument("address", default="")
     is_correct = self.get_argument("is_correct", default="")
     if picid != "":
         s = db.session()
         pic = s.query(db.Picture).filter(db.Picture.id == picid).first()
         if code != "":
             pic.code = code
         if name != "":
             pic.name = name
         if address != "":
             pic.address = address
         if is_correct != "":
             pic.is_correct = is_correct
             if is_correct == "1":
                 pic.uncorrect_msg = "success"
         s.commit()
         s.close()
         res = "success"
     else:
         res = "failed"
     self.write(res)
Exemplo n.º 5
0
 def post(self):   
     self.xsrf_form_html()
     try:
         user = tornado.escape.json_decode(self.request.body)
         # print(user)
         s=db.session()
         user_infos = s.query( db.User ).filter_by(id = user["id"] ).first()
         if ((user_infos.password == user["password"])):
             if user["change_password"]!="":
                 print(user["change_password"])
                 user_infos.password = str(user["change_password"])
                 respon = {"errno": 1,
                           "err": "密码修改成功,请重新登录"}
             if user_infos.username != user["username"]:
                 user_infos.username = str(user["username"])
                 respon = {"errno": 0,
                           "err": "用户名修改为: \""+ str(user["username"]) + "\""}
         # user_infos.is_active = user["is_active"]
         # user_infos.create_time = user["create_time"]
         # user_infos.last_login = user["last_login"]
             s.commit()
             s.close()
             self.write(respon)
         else:
             respon = {"errno": -1,
                       "err": "密码错误"}
             self.write(respon)
     except Exception as e:
         respon = {"errno": -1,
                   "err": str(e)}
         self.write(respon)
Exemplo n.º 6
0
 def get(self):
     self.xsrf_form_html()
     user_id = tornado.escape.json_decode(self.get_secure_cookie("user_id"))
     s=db.session()
     user_infos = s.query( db.User ).filter_by(id = user_id ).first() 
     s.close()
     self.render("user_info.html",user_infos = user_infos,)
Exemplo n.º 7
0
 def post(self):
     self.xsrf_form_html()
     user_email = self.get_argument("user_email",default="")
     user_name = self.get_argument("user_name",default="")
     password = self.get_argument("password",default="")#明文sha1哈希之后再从用户传过来
     if user_email:
         try:
             adduser = db.User(email = user_email,
                          username = user_name,
                          password = password)
             s=db.session()
             s.add(adduser)
             s.commit()
             s.close()
             respon = {"errno": 1,
                       "err": "用户已注册,请联络管理员激活"}
             self.write(tornado.escape.json_encode(respon))
         except Exception as e:
             respon = {"errno": -1,
                       "err": e}
             self.write(tornado.escape.json_encode(respon))
     else:
         respon = {"errno": -1,
                       "err": "用户注册失败"}
         self.write(tornado.escape.json_encode(respon))
Exemplo n.º 8
0
 def get(self):
     self.xsrf_form_html()
     pictureid = self.get_argument("pictureid",default="")
     s=db.session()
     picture_infos = s.query( db.Picture ).filter_by(id = pictureid ).first() 
     s.close()
     print(picture_infos.confirmed_picture_path)
     self.render("manager_pic_edit.html",picture = picture_infos)
Exemplo n.º 9
0
 def post(self):
     self.xsrf_form_html()
     level = self.get_argument("level", default="")
     manager_id = self.get_argument("manager_id", default="")
     s = db.session()
     manager_infos = s.query(
         db.Manager).filter_by(id=int(manager_id)).first()
     manager_infos.level = level
     s.commit()
     s.close()
Exemplo n.º 10
0
    def get(self):
        self.xsrf_form_html()
        user_id = tornado.escape.json_decode(self.get_secure_cookie("user_id"))
        page_index = int(self.get_argument("page",default="1"))
        limit = int(self.get_argument("limit",default="15"))
        keyword = self.get_argument("keyword",default="")
        start_date = self.get_argument("start_date",default="1970-01-01")
        end_date = self.get_argument("end_date",default="3000-12-31")
        if start_date == "":
            start_date = default="1970-01-01"
        if end_date == "":
            end_date = default="3000-12-31"

        # 数据判断条件
        filters = {
                db.Picture.user_id == user_id, #只允许查询自己的业务
                db.Picture.is_correct == 1, #只允许查询自己的业务

                db.or_(db.Picture.name.like('%'+keyword+'%'),
                       db.Picture.code.like('%'+keyword+'%'),
                       db.Picture.address.like('%'+keyword+'%'),
                       ),
                db.Picture.create_time.between(start_date+" 00:00:00", end_date+" 23:59:59")
        }
        s=db.session()
        count = s.query(db.Picture).filter(*filters).count()

        if page_index < 1 or count == 0:
            page_index = 1
        elif limit*page_index > count:
            page_index = int((count + limit -1) / limit);
        #asc升序
        pictures = s.query(db.Picture).order_by(db.Picture.create_time.desc()).filter(*filters).limit(limit).offset((page_index-1)*limit).all()
        s.close()

        s = db.session()
        user_infos = s.query( db.User ).filter_by(id = user_id ).first() 
        s.close()
        if start_date == "1970-01-01":
            start_date = ""
        if end_date == "3000-12-31":
            end_date = ""
        self.render("user_OBDList.html",user_infos = user_infos, page_index = page_index,count = count,limit = limit, keyword = keyword, start_date = start_date, end_date = end_date, pictures = pictures)
Exemplo n.º 11
0
 def get(self):
     self.xsrf_form_html()
     picid = self.get_argument("picid", default="")
     uncorrect_msg = self.get_argument("uncorrect_msg", default="")
     if picid != "":
         s = db.session()
         pic = s.query(db.Picture).filter(db.Picture.id == picid).first()
         pic.is_correct = 0
         pic.uncorrect_msg = uncorrect_msg
         self.write("图片报错成功!")
     else:
         self.write("图片报错失败!")
Exemplo n.º 12
0
 def delete(self):
     self.xsrf_form_html()
     user_id = self.get_argument("user_id", default="")
     s = db.session()
     user = s.query(db.User).filter_by(id=user_id).first()
     if (user.id):
         s.delete(user)
         s.commit()
         s.close()
         self.write(user_id)
     else:
         s.close()
         self.write("-1")
Exemplo n.º 13
0
 def delete(self):
     self.xsrf_form_html()
     manager_id = self.get_argument("manager_id", default="")
     s = db.session()
     manager = s.query(db.Manager).filter_by(id=manager_id).first()
     if (manager.id):
         s.delete(manager)
         s.commit()
         s.close()
         self.write(manager_id)
     else:
         s.close()
         self.write("0")
Exemplo n.º 14
0
 def get(self):
     self.xsrf_form_html()
     manager_id = tornado.escape.json_decode(
         self.get_secure_cookie("manager_id"))
     s = db.session()
     manager_infos = s.query(db.Manager).filter_by(id=manager_id).first()
     manager_name = manager_infos.managername
     level = manager_infos.level
     self.render("manager_main.html",
                 managername=manager_name,
                 level=level,
                 manager_infos=manager_infos
                 )  #  self.render() 读取html,传向前端,同时可以穿参数level
     s.close()
Exemplo n.º 15
0
 def post(self):
     self.xsrf_form_html()
     user_id = self.get_argument("user_id", default="")
     password = self.get_argument("password", default="")
     if ((user_id != "") & (password != "")):
         s = db.session()
         user_infos = s.query(db.User).filter_by(id=int(user_id)).first()
         user_infos.password = password
         s.commit()
         s.close()
         res = {"errno": "1"}
         self.write(res)
     else:
         res = {"errno": "-1"}
         self.write(res)
Exemplo n.º 16
0
 def post(self):
     self.xsrf_form_html()  #内部用 self.xsrf_form_html()生成
     user_id = self.get_argument("user_id", default="")
     is_active = self.get_argument("is_active", default="")
     if ((user_id != "") & (is_active != "")):  #返回的id和active不为空时
         s = db.session()  #连接数据库
         user_infos = s.query(db.User).filter_by(
             id=int(user_id)).first()  #user_infos接收对应id数据
         user_infos.is_active = int(is_active)  #更改is_active,并commit。
         s.commit()
         s.close()
         res = {"errno": "1"}
     else:
         res = {"errno": "-1"}
     self.write(res)
Exemplo n.º 17
0
    def post(self):
        self.xsrf_form_html()
        email = self.get_argument("email", default="")
        if email != "":  #email不为空
            s = db.session()  #连接数据库
            manager = s.query(db.Manager).filter_by(email=email).first()
            s.close()
            if manager:  #如果manager存在说明数据已存在,返回:邮箱已注册
                res = {"errno": "-1", "err": "该邮箱已注册"}
                self.write(res)
            else:  #否则接收相应信息
                manager_name = self.get_argument("manager_name", default="")
                password = self.get_argument("password", default="")
                is_active = self.get_argument("is_active", default="")
                level = self.get_argument("level", default="")
                print(manager_name + "/" + password + "/" + is_active)
                if (manager_name != "") & (password != "") & (is_active != ""):
                    #名字,密码,激活状态不为空时,s.add()把用户数据写入数据库中并commit
                    addmanager = db.Manager(email=email,
                                            managername=manager_name,
                                            password=password,
                                            is_active=is_active,
                                            level=level)
                    s = db.session()
                    s.add(addmanager)
                    s.commit()
                    s.close()
                    res = {"errno": "1", "err": "用户成功添加"}
                    self.write(res)
                else:
                    res = {"errno": "-1", "err": "请填写完整信息"}
                    self.write(res)

        else:
            res = {"errno": "-1", "err": "请输入邮箱"}
            self.write(res)
Exemplo n.º 18
0
 def post(self):
     self.xsrf_form_html()
     if(self.request.files["file"][0]):
         upp = self.get_argument("upload_port_pos",default="-1")
         us = self.get_argument("upload_sort",default=None)
         GPS = self.get_argument("GPS",default="")
         address = self.get_argument("address",default="")
         OBDCode = self.get_argument("OBDCode",default="")
         #保存图片
         data=self.request.files["file"][0]
         #time = datetime.datetime.now() #sql time: .strftime("%Y-%m-%d %H:%M:%S")
         md5 = hashlib.md5()
         md5.update(data["body"])
         md5encode = md5.hexdigest()
         ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8))
         extension = data["filename"].split(".")[-1]
         head = data["filename"].rstrip("."+extension)
         #将文件名中文转化为拼音
         pinyin = Pinyin()
         head = pinyin.get_pinyin(head)
         #中文转拼音结束
         savename = head + "_" + md5encode + ran_str + "." + extension #time.strftime("%Y_%m_%d_%H_%M_%S")+"_"+md5encode+"."+data["filename"].split(".")[-1]
         with open(os.path.join("static","uploadpic",savename),"wb") as up:            
                 up.write(data["body"])   
         QR = QRCode(os.path.join("static","uploadpic",savename))
         if(address):
             QR["address"] = address
         if (OBDCode):
             QR["code"] = OBDCode
         if(GPS):
             QR["GPS"] = GPS                                           
         #插入数据库
         pic = db.Picture(code = str(QR["code"]),
                          name = str(QR["name"]),
                          address = str(QR["address"]),
                          GPS = str(QR["GPS"]),
                          port_direction = port_analyze[upp][0],
                          zero_port_pos = port_analyze[upp][1],
                          port_sort = us,
                          picture_path = os.path.join("uploadpic",savename),
                          manager_id = self.get_secure_cookie("manager_id"))
         s=db.session()
         s.add(pic)
         s.commit()
         s.close()
         self.write("success")
     else:
         self.write("error")        
Exemplo n.º 19
0
    def get(self):
        self.xsrf_form_html()
        page_index = int(self.get_argument("page", default="1"))
        limit = int(self.get_argument("limit", default="30"))
        is_correct = int(self.get_argument("is_correct", default="1"))
        keyword = self.get_argument("keyword", default="")
        create_time = self.get_argument("create_time", default="1970-01-0-1")
        last_login = self.get_argument("last_login", default="3000-12-31")
        if create_time == "":
            create_time = "1970-01-01"
        if last_login == "":
            last_login = "******"

        # 数据判断条件
        filters = {
            db.or_(db.Manager.id.like('%' + keyword + '%'),
                   db.Manager.email.like('%' + keyword + '%'),
                   db.Manager.managername.like('%' + keyword + '%'),
                   db.Manager.is_active.like('%' + keyword + '%')),
            db.Manager.create_time.between(create_time + " 00:00:00",
                                           last_login + " 23:59:59"),
            ~db.Manager.id.in_([int(self.get_secure_cookie("manager_id"))]),
        }
        s = db.session()
        count = s.query(db.Manager).filter(*filters).count()
        if page_index < 1 or count == 0:
            page_index = 1
        elif limit * page_index > count:
            page_index = int((count + limit - 1) / limit)
        #asc升序
        managers = s.query(db.Manager).order_by(
            db.Manager.create_time.desc()).filter(
                *filters).limit(limit).offset((page_index - 1) * limit).all()
        s.close()
        if create_time == "1970-01-01":
            create_time = ""
        if last_login == "3000-12-31":
            last_login = ""

            #转变成json文件格式
        result_dict = [u.column_dict() for u in managers]

        res = {"code": 0, "msg": "", "count": count, "data": result_dict}
        # self.render("pics_management.html",page_index = page_index,count = count,limit = limit, keyword = keyword, start_date = start_date, end_date = end_date, pictures = pictures)
        self.write(res)
Exemplo n.º 20
0
 def delete(self):#删除图片
     self.xsrf_form_html()
     pictureid = self.get_argument("pictureid",default="")
     s=db.session()
     pic = s.query(db.Picture).get(pictureid)
     if pic.id :
         if (pic.picture_path):
             if os.path.exists(os.path.join("static",pic.picture_path)):
                 os.remove(os.path.join("static",pic.picture_path))
         if (pic.confirmed_picture_path):
             if os.path.exists(os.path.join("static",pic.confirmed_picture_path)):
                 os.remove(os.path.join("static",pic.confirmed_picture_path))
         s.delete(pic)
         s.commit()
         s.close()
         self.write(pictureid)
     else:
         self.write("-1")
Exemplo n.º 21
0
 def get(self):
     self.xsrf_form_html()
     page_index = int(self.get_argument("page",
                                        default="1"))  #获取前端中page参数,默认为1
     limit = int(self.get_argument("limit",
                                   default="15"))  #获取前端中limit参数,默认15
     is_correct = int(self.get_argument("is_correct", default="1"))
     keyword = self.get_argument("keyword", default="")
     start_date = self.get_argument("start_date", default="1970-01-01")
     end_date = self.get_argument("end_date", default="3000-12-31")
     if start_date == "":
         start_date = default = "1970-01-01"
     if end_date == "":
         end_date = default = "3000-12-31"
     # 数据判断条件
     filters = {
         db.or_(
             db.Picture.name.like('%' + keyword + '%'),
             db.Picture.code.like('%' + keyword + '%'),
             db.Picture.address.like('%' + keyword + '%'),
         ),
         db.Picture.create_time.between(start_date + " 00:00:00",
                                        end_date + " 23:59:59")
     }
     s = db.session()
     count = s.query(db.Picture).filter(*filters).count()
     if page_index < 1 or count == 0:
         page_index = 1
     elif limit * page_index > count:
         page_index = int((count + limit - 1) / limit)
     #asc升序
     # pictures = s.query(db.Picture).order_by(db.Picture.create_time.desc()).filter(*filters).limit(limit).offset((page_index-1)*limit).all()
     s.close()
     if start_date == "1970-01-01":
         start_date = ""
     if end_date == "3000-12-31":
         end_date = ""
     self.render("pics_management.html",
                 page_index=page_index,
                 count=count,
                 limit=limit,
                 keyword=keyword,
                 start_date=start_date,
                 end_date=end_date)  #, pictures = pictures)
Exemplo n.º 22
0
    def get(self):
        self.xsrf_form_html()
        page_index = int(self.get_argument("page", default="1"))
        limit = int(self.get_argument("limit", default="30"))
        is_correct = int(self.get_argument("is_correct", default="1"))
        keyword = self.get_argument("keyword", default="")
        start_date = self.get_argument("start_date", default="1970-01-01")
        end_date = self.get_argument("end_date", default="3000-12-31")
        if start_date == "":  #给时间赋予初始值
            start_date = default = "1970-01-01"
        if end_date == "":
            end_date = default = "3000-12-31"
        # 数据判断条件
        filters = {
            db.or_(
                db.Picture.name.like('%' + keyword + '%'),
                db.Picture.code.like('%' + keyword + '%'),
                db.Picture.address.like('%' + keyword + '%'),
            ),
            db.Picture.create_time.between(start_date + " 00:00:00",
                                           end_date + " 23:59:59")
        }
        s = db.session()
        count = s.query(db.Picture).filter(*filters).count()
        if page_index < 1 or count == 0:
            page_index = 1
        elif limit * page_index > count:
            page_index = int((count + limit - 1) / limit)
        #asc升序
        pictures = s.query(db.Picture).order_by(
            db.Picture.create_time.desc()).filter(
                *filters).limit(limit).offset((page_index - 1) * limit).all()
        s.close()

        if start_date == "1970-01-01":
            start_date = ""
        if end_date == "3000-12-31":
            end_date = ""
            #转变成json文件格式
        result_dict = [u.column_dict() for u in pictures]

        res = {"code": 0, "msg": "", "count": count, "data": result_dict}
        # self.render("pics_management.html",page_index = page_index,count = count,limit = limit, keyword = keyword, start_date = start_date, end_date = end_date, pictures = pictures)
        self.write(res)
Exemplo n.º 23
0
 def post(self):
     self.xsrf_form_html()
     try:
         picture = tornado.escape.json_decode(self.request.body)
         s=db.session()
         picture_infos = s.query( db.Picture ).filter_by(id = picture["id"] ).first()
         picture_infos.name = picture["name"]
         picture_infos.address = picture["address"]
         picture_infos.port_direction = picture["port_direction"]
         picture_infos.zero_port_pos = picture["zero_port_pos"]
         picture_infos.port_sort = picture["port_sort"]
         picture_infos.port_sort = picture["port_sort"]
         picture_infos.manager_id = self.get_secure_cookie("manager_id")
         s.commit()
         s.close()
     except Exception as e:
         self.write(str(e))
     else:
         self.write("success")      
Exemplo n.º 24
0
    def post(self):
        self.xsrf_form_html()  #内部用 self.xsrf_form_html()生成
        manager_id = self.get_argument("manager_id", default="")
        is_active = self.get_argument("is_active", default="")
        if ((manager_id != "") & (is_active != "")):
            s = db.session()
            manager_infos = s.query(
                db.Manager).filter_by(id=manager_id).first()
            manager_infos.is_active = int(is_active)
            s.commit()
            s.close()
            res = {"errno": "1"}
        else:
            res = {"errno": "0"}
        self.write(res)


# #后台角色管理界面
# class ManagerPicManagementHandler(ManagerBaseHandler):
Exemplo n.º 25
0
 def post(self):  #https://127.0.0.1:8000/userlogin?user_email=A&password=1994&remember_me=false
     self.xsrf_form_html()  #内部用 self.xsrf_form_html()生成
     user_email = self.get_argument("user_email",default="")
     password = self.get_argument("password",default="")#明文sha1哈希之后再从用户传过来
     remember_me = self.get_argument("remember_me",default="false")
     code = self.get_argument("check_code",default="false")
     check_code = self.session['CheckCode']
     if code.upper()==check_code.upper():
         s=db.session()
         user_infos = s.query( db.User ).filter_by(email = user_email ).first() 
         if user_infos:
             user_id = user_infos.id
             db_pwd = user_infos.password
             if str(db_pwd) == str(password):
                 if user_infos.is_active ==1:
                     respon = {"errno": 1,
                               "err": self.get_argument('next', default='/')}
                     self.set_current_user(user_id,user_infos.username,remember_me)    #将当前用户名写入 cookie,方法见下面
                     user_infos.last_login = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
                     s.add(user_infos)
                     s.commit()
                     s.close()
                     self.write(tornado.escape.json_encode(respon))
                 else:
                     respon = {"errno": -1,
                               "err": "该用户未激活,请联系管理员"}
                     s.close()
                     self.write(tornado.escape.json_encode(respon))
             else:
                 respon = {"errno": -1,
                           "err": "账号或者密码错误"}
                 print(db_pwd+"\n"+password)
                 s.close()
                 self.write(tornado.escape.json_encode(respon))
         else:
             respon = {"errno": -1,
                       "err": "账号或者密码错误"}
             s.close()
             self.write(tornado.escape.json_encode(respon))
     else:
         respon = {"errno": -1,
                       "err": "验证码错误"}
         self.write(tornado.escape.json_encode(respon))
Exemplo n.º 26
0
 def post(self):
     self.xsrf_form_html()
     user_email = self.get_argument("user_email",default="")
     if(user_email != ""):
         s=db.session()
         user_infos = s.query( db.User ).filter_by( email = user_email ).all()
         s.close()
         if(user_infos):
             respon = {"errno": -1,
                       "err": "该邮箱已注册"}
             self.write(tornado.escape.json_encode(respon))
         else:
             respon = {"errno": 1,
                       "err": "可以使用"}
             self.write(tornado.escape.json_encode(respon))
     else:
         respon = {"errno": -1,
                       "err": "邮箱为空"}
         self.write(tornado.escape.json_encode(respon))
Exemplo n.º 27
0
    def get(self):
        self.xsrf_form_html()
        page_index = int(self.get_argument("page", default="1"))
        limit = int(self.get_argument("limit", default="30"))
        keyword = self.get_argument("keyword", default="")
        # data = tornado.escape.json_decode(self.request.body)
        # if "page" in self.request.arguments:      #pyhton3 新特性不支持has_key
        #page_index = int(self.get_argument("page",default="1"))
        # if "limit" in self.request.arguments:
        #page_size = int(self.get_argument("limit",default="15"))

        filters = {
            db.or_(
                db.Manager.id.like("%" + keyword + "%"),
                db.Manager.email.like("%" + keyword + "%"),
                db.Manager.managername.like("%" + keyword + "%"),
            ),
            # db.User.create_time.between(create_time+"00:00:00",last_login+"00:00:00"),
        }
        s = db.session()
        count = s.query(db.Manager).filter(*filters).count()
        if page_index < 1 or count == 0:
            page_index = 1
        elif limit * page_index > count:
            page_index = int((count + limit - 1) / limit)

            #asc升序
        #users = s.query(db.User).order_by(db.User.create_time.desc()).filter(*filters).limit(page_size).offset((page_index-1)*page_size).all()
        managers = s.query(db.Manager).order_by(
            db.Manager.create_time.desc()).filter(
                *filters).limit(limit).offset((page_index - 1) * limit).all()
        s.close()
        self.render("managers_management.html",
                    page_index=page_index,
                    count=count,
                    limit=limit,
                    keyword=keyword,
                    managers=managers)
Exemplo n.º 28
0
 def post(self):
     self.xsrf_form_html()
     try:
         manager = tornado.escape.json_decode(self.request.body)
         # print(manager)
         s = db.session()
         manager_infos = s.query(
             db.Manager).filter_by(id=manager["id"]).first()
         if ((manager_infos.password == manager["password"])):
             if manager["change_password"] != "":
                 manager_infos.password = str(manager["change_password"])
             if manager_infos.managername != manager["managername"]:
                 manager_infos.managername = str(manager["managername"])
         # manager_infos.is_active = manager["is_active"]
         # manager_infos.create_time = manager["create_time"]
         # manager_infos.last_login = manager["last_login"]
             s.commit()
             s.close()
             self.write("修改成功")
         else:
             self.write("密码错误")
     except Exception as e:
         self.write(str(e))
Exemplo n.º 29
0
    def post(self):
        self.xsrf_form_html()  #内部用 self.xsrf_form_html()生成
        manager_email = self.get_argument("manager_email", default="")
        password = self.get_argument("password", default="")
        remember_me = self.get_argument("remember_me", default="false")
        next_page = self.get_argument("next", default="/manager")

        #user_infos = mrd.select_table(table="manager",column="*",condition="email",value=manager_email)
        s = db.session()
        user_infos = s.query(db.Manager).filter_by(email=manager_email).first()
        manager_id = user_infos.id
        if user_infos:
            db_pwd = user_infos.password
            if str(db_pwd) == str(password):
                if user_infos.is_active == 1:
                    respon = {"error": 0, "data": next_page}
                    self.set_current_user(manager_id, user_infos.managername,
                                          remember_me)  #将当前用户名写入 cookie,方法见下面
                    user_infos.last_login = datetime.datetime.now().strftime(
                        '%Y-%m-%d %H:%M:%S')
                    s.add(user_infos)
                    s.commit()
                    s.close()
                    self.write(tornado.escape.json_encode(respon))
                else:
                    respon = {"error": 1, "data": "该用户未激活,请联系管理员"}
                    s.close()
                    self.write(tornado.escape.json_encode(respon))
            else:
                respon = {"error": 1, "data": "账号或者密码错误"}
                s.close()
                self.write(tornado.escape.json_encode(respon))
        else:
            respon = {"error": 1, "data": "账号或者密码错误"}
            s.close()
            self.write(tornado.escape.json_encode(respon))
Exemplo n.º 30
0
    def post(self):
        self.xsrf_form_html() 
        pictureid = self.get_argument("pictureid",default="")
        print("++++++++++"+pictureid)
        s = db.session();
        OBD = s.query( db.Picture ).filter_by(id = pictureid ).first(); #s.query(db.Picture).filter(db.Picture.id ==  pictureid).first()
        if(OBD):
            OBDInfo = OBD.__dict__
            code =  OBDInfo["code"]
            #需要添加confimed的代码
            req = {"port_direction":OBDInfo["port_direction"],
                   "zero_port_pos": OBDInfo["zero_port_pos"],
                   "port_sort":OBDInfo["port_sort"]}
            #"method"为深度学习对应的API
            fci = fcisservice.remote("",req,open(os.path.join("static",OBDInfo["picture_path"]), 'rb'))

            if fci["body"] == "noimg" or fci["body"] == "detectbusy" or fci["body"] == "":
                confirmed_picture_path = ""
                ports_occupy = ""
                print("confirmed_picture_path unexists\n")                             
            else:
                md5 = hashlib.md5()
                confirmdata = fci["body"]
                ports_occupy = str(fci["Ports_occupy"])
                md5.update(confirmdata)
                md5encode = md5.hexdigest()
                onamelist = OBDInfo["picture_path"].split("/")[-1].split(".")
                confirmname = "".join(onamelist[0:len(onamelist)-1]) + ports_occupy + "." + onamelist[-1] #time.strftime("%Y_%m_%d_%H_%M_%S")+"_"+md5encode+"."+OBDInfo["picture_path"].split(".")[-1]
                confirmed_picture_path = os.path.join("confirmedpic",confirmname)
                with open(os.path.join("static",confirmed_picture_path),"wb") as up:            
                        up.write(confirmdata)   
            
            #对端口识别和二维码识别的判断
            res = {}
            is_correct = 0
            if fci["body"] == "detectbusy":
                res["msg"] = "detectbusy"
            else:
                if confirmed_picture_path == "" and code == "":
                    res["msg"] = "AllFail"
                elif confirmed_picture_path != "" and code == "":
                    res["msg"] = "QrcodeFail"
                elif confirmed_picture_path == "" and code != "":
                    res["msg"] = "DetectFail"
                else:
                    is_correct = 1
                    res["msg"] = "success"

            # 插入新的数据到数据库
            OBD.ports_occupy = ports_occupy
            OBD.is_correct = is_correct
            OBD.uncorrect_msg = res["msg"]
            OBD.confirmed_picture_path = confirmed_picture_path
            OBD.manager_id = self.get_secure_cookie("manager_id")
            s.commit()
            s.close()

            #返回json,获取信息
            #del res["body"]
            res["id"] = pictureid
            res["confirmed_picture_path"] = os.path.join(confirmed_picture_path)
            res["ports_occupy"] = ports_occupy
            time = datetime.datetime.now() #sql time: .strftime("%Y-%m-%d %H:%M:%S")
            res["update_time"] = time.strftime("%Y-%m-%d %H:%M:%S")
            res["manager_id"] = bytes.decode(self.get_secure_cookie("manager_id"))
            self.write(res)
        else:
            self.write(tornado.escape.json_encode({"msg":"false"}))
        # self.xsrf_form_html()
        # pictureid = self.get_argument("pictureid",default="")
        # if pictureid != "":
        #     s=db.session()
        #     picture_infos = s.query( db.Picture ).filter_by(id = pictureid ).first()
        #     if(os.path.exists(os.path.join("static",picture_infos.picture_path))):
        #         body = open(os.path.join("static",picture_infos.picture_path),'rb').read()
        #         bodybase64 = str(base64.b64encode(body))
        #         print(bodybase64)
        #         pic = {"imgFile":[{"filename":picture_infos.picture_path.split("/")[-1],
        #                            "content_type": "img/"+picture_infos.picture_path.split(".")[-1],
        #                            "body":body }]}
        #         req = {"port_direction":picture_infos.port_direction,
        #                "zero_port_pos":picture_infos.zero_port_pos,
        #                "port_sort":picture_infos.port_sort}
        #         req["imgFile"] = [{"filename":picture_infos.picture_path.split("/")[-1],
        #                            "content_type": "img/"+picture_infos.picture_path.split(".")[-1],
        #                            "body":bodybase64 }]
        #         with open("./input.json","w",encoding='utf-8') as json_file:
        #             json.dump(req,json_file,ensure_ascii=False)
        #         res = fcisservice.remote("method", req, pic)

        #         confirmdata = res["imgFile"][0]
        #         if confirmdata:
        #             time = datetime.datetime.now() #sql time: .strftime("%Y-%m-%d %H:%M:%S")
        #             md5 = hashlib.md5()
        #             md5.update(confirmdata["body"])
        #             md5encode = md5.hexdigest()
        #             confirmname = time.strftime("%Y_%m_%d_%H_%M_%S")+"_"+md5encode+"."+confirmdata["filename"].split(".")[-1]
        #             if (picture_infos.confirmed_picture_path != None):
        #                 os.remove(os.path.join("static",picture_infos.confirmed_picture_path))
        #             with open(os.path.join("static","confirmedpic",confirmname),"wb") as up:            
        #                 up.write(confirmdata["body"])
        #             picture_infos.code = res["code"]
        #             picture_infos.name = res["name"]
        #             picture_infos.address = res["address"]
        #             picture_infos.GPS = res["GPS"]
        #             picture_infos.confirmed_picture_path = os.path.join("confirmedpic",confirmname)
        #             picture_infos.manager_id = self.get_secure_cookie("manager_id")
        #             s.commit()
        #             s.close()
        #             #返回json,获取信息
        #             time = datetime.datetime.now()
        #             del res["imgFile"]
        #             res["confirmed_picture_path"] = os.path.join("confirmedpic",confirmname)
        #             res["update_time"] = time.strftime("%Y-%m-%d %H:%M:%S")
        #             res["msg"] = "success"
        #             res["manager_id"] = bytes.decode(self.get_secure_cookie("manager_id"))
        #             # res.update(tornado.escape.json_encode(req))
        #             self.write(res)
        #         else:
        #             s.close()
        #             self.write(tornado.escape.json_encode({"msg":"false"}))
        #     else:
        #         s.close()
        #         self.write(tornado.escape.json_encode({"msg":"false"}))
        # else:
        #     self.write(tornado.escape.json_encode({"msg":"false"}))