def post(self): """Add an activity. """ try: author = self.get_argument('author', '') title = self.get_argument('title', '') begintime = self.get_argument('begintime', 0) endtime = self.get_argument('endtime', 0) html_name = self.get_argument('html_name', '') filename = '' if self.request.files: upload_file = self.request.files['fileupload'][0] filename = safe_utf8(upload_file['filename']) except Exception as e: logging.exception("[ADMIN] Script upload failed, exception:%s", e.args) status = ErrorCode.FAILED self.write_ret(status) return try: status = ErrorCode.SUCCESS # check filename whether contains illegal character if filename: if not check_filename(filename): status = ErrorCode.ACTIVITY_NAME_ILLEGAL self.write_ret(status) logging.info("[ADMIN] filename: %s, Message: %s", filename, ErrorCode.ERROR_MESSAGE[status]) return # check filename whether exists files = os.listdir(ACTIVITY_DIR_) for file in files: if file == filename: status = ErrorCode.ACTIVITY_EXISTED logging.info("[ADMIN] filename: %s, Message: %s", filename, ErrorCode.ERROR_MESSAGE[status]) self.write_ret(status) return file_path = os.path.join(ACTIVITY_DIR_, filename) logging.info("[ADMIN] Upload path: %s", file_path) output_file = open(file_path, 'w') output_file.write(upload_file['body']) output_file.close() self.db.execute("INSERT INTO T_ACTIVITY(title, filename," " begintime, endtime, author, html_name)" "VALUES(%s, %s, %s, %s, %s, %s)", title, filename, begintime, endtime, author, html_name) logging.info("[ADMIN] %s upload %s file success.", author, filename) self.write_ret(status) except Exception as e: status = ErrorCode.SERVER_BUSY logging.exception("[ADMIN] %s upload %s file failed. Exception:%s", author, filename, e.args) self.write_ret(status)
def post(self): try: upload_file = self.request.files['fileupload'][0] except Exception as e: logging.info("[LOG] Script upload failed, exception:%s", e.args) global MESSAGE MESSAGE = '获取不到文件' self.redirect("/uploadluascript") return try: author = self.get_current_user() # check version records = self.acbdb.query("SELECT * " " FROM T_SCRIPT" " ORDER BY id DESC") version_list = [record.version for record in records] versionname = self.get_argument('versionname', '') if versionname in version_list: global MESSAGE MESSAGE = '该版本号已存在' logging.info("[LOG] Message: %s", MESSAGE) self.redirect("/uploadluascript") return # check filename whether contains illegal character filename = safe_utf8(upload_file['filename']) if not check_filename(filename): global MESSAGE MESSAGE = '文件名只能包含字母、数字、下划线、点' logging.info("[LOG] Message: %s", MESSAGE) self.redirect("/uploadluascript") return # check filename whether exists timestamp = int(time.time()) localtime = time.strftime( '%Y-%m-%d %H:%M:%S', time.localtime(timestamp)) files = os.listdir(DOWNLOAD_DIR_) for file in files: if file == filename: global MESSAGE MESSAGE = '文件已经存在,请先删除' self.redirect("/uploadluascript") return self.acbdb.execute("INSERT INTO T_SCRIPT(version, filename, timestamp, author)" "VALUES(%s, %s, %s, %s)", versionname, filename, timestamp, author) file_path = os.path.join(DOWNLOAD_DIR_, filename) logging.info("[LOG] Upload path: %s", file_path) output_file = open(file_path, 'w') output_file.write(upload_file['body']) output_file.close() except Exception as e: logging.info("[LOG] %s upload %s file fail at the time of %s Exception:%s", author, filename, localtime, e.args) else: logging.info("[LOG] %s upload %s file success at the time of %s", author, filename, localtime) self.redirect("/uploadluascript")
def post(self): try: author = self.get_argument("author", "") versioncode = self.get_argument("versioncode", "") versionname = self.get_argument("versionname", "") versioninfo = self.get_argument("versioninfo", "") updatetime = self.get_argument("updatetime", "") category = int(self.get_argument("category", "")) filesize = self.get_argument("filesize", "") upload_file = self.request.files["fileupload"][0] filename = safe_utf8(upload_file["filename"]) except Exception as e: logging.exception("[ADMIN] Apk upload failed, exception:%s", e.args) status = ErrorCode.FAILED self.write_ret(status) return try: status = ErrorCode.SUCCESS if not check_filename(filename): status = ErrorCode.ACTIVITY_NAME_ILLEGAL self.write_ret(status) logging.info("[ADMIN] filename: %s, Message: %s", filename, ErrorCode.ERROR_MESSAGE[status]) return if category == UWEB.APK_TYPE.YDWS: # 1 filename_ = "ACB_%s.apk" elif category == UWEB.APK_TYPE.YDWQ_MONITOR: # 2 filename_ = "YDWQ_monitor_%s.apk" elif category == UWEB.APK_TYPE.YDWQ_MONITORED: # 3 filename_ = "YDWQ_monitored_%s.apk" elif category == UWEB.APK_TYPE.YDWS_ANJIETONG: # 4 filename_ = "YDWS_anjietong_%s.apk" filename = filename_ % versionname self.db.execute( "INSERT INTO T_APK(versioncode, versionname, versioninfo," " updatetime, filesize, author, category, filename) " " VALUES(%s, %s, %s, %s, %s, %s, %s, %s)", versioncode, versionname, versioninfo, updatetime, filesize, author, category, filename, ) file_path = os.path.join(APK_DIR_, filename) logging.info("[ADMIN] Upload path: %s", file_path) output_file = open(file_path, "w") output_file.write(upload_file["body"]) output_file.close() logging.info("[ADMIN] %s upload %s file success.", author, filename) self.write_ret(status) except Exception as e: status = ErrorCode.SERVER_BUSY logging.exception("[ADMIN] %s upload %s file failed. Exception:%s", author, filename, e.args) self.write_ret(status)