def invite_action(self, *args, **kwargs): action = self.get_body_argument("action") if action == "create": code = random_str() try: yield self.db.invite.insert({ "code": code, "used": False, "user": "", "time": time.time() }) except pymongo.errors.DuplicateKeyError: pass self.redirect("/manage/invite") elif action == "delete": code = self.get_body_argument("code") yield self.db.invite.remove({ "code": code, "used": False }) self.redirect("/manage/invite") elif action == "expire": yield self.db.invite.remove({ "time": {"$lt": (time.time() - self.settings["invite_expire"])}, "used": {"$eq": False} }) self.redirect("/manage/invite") self.custom_error("方法错误,请重试")
def invite_action(self, *args, **kwargs): action = self.get_body_argument("action") if action == "create": code = random_str() try: yield self.db.invite.insert({ "code": code, "used": False, "user": "", "time": time.time() }) except pymongo.errors.DuplicateKeyError: pass self.redirect("/manage/invite") elif action == "delete": code = self.get_body_argument("code") yield self.db.invite.remove({"code": code, "used": False}) self.redirect("/manage/invite") elif action == "expire": yield self.db.invite.remove({ "time": { "$lt": (time.time() - self.settings["invite_expire"]) }, "used": { "$eq": False } }) self.redirect("/manage/invite") self.custom_error("方法错误,请重试")
def post(self, *args, **kwargs): now = time.time() try: if self.request.files: file = self.request.files['upload'][0] ext = os.path.splitext(file["filename"])[-1] if ext not in (".png", ".gif", ".jpg", ".bmp", ".jpeg"): self.end(False, u"不允许上传此类后缀的文件哦") self.orgname = file["filename"] filename = md5("%s%s" % (file["filename"], random_str(6))) + ext folder = "%s/%s/%s" % (self.settings["imagepath"], humantime(now, "%Y%m"), humantime(now, "%d")) if not os.path.isdir(folder): os.makedirs(folder) filename = "%s/%s" % (folder, filename) with open(filename, "wb") as fin: fin.write(file["body"]) self.end(True, u"上传成功", filename) except tornado.web.Finish, e: pass