本文整理汇总了Python中error.Error.param_error方法的典型用法代码示例。如果您正苦于以下问题:Python Error.param_error方法的具体用法?Python Error.param_error怎么用?Python Error.param_error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类error.Error
的用法示例。
在下文中一共展示了Error.param_error方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from error import Error [as 别名]
# 或者: from error.Error import param_error [as 别名]
class Authentication:
"""
Nhóm chức năng quản lý người dùng
Các hành động hỗ trợ:
* đăng ký
* đăng nhập
* đăng xuất
"""
def __init__(self):
# Connect to Cassandra servers
client = connect(cassandra_hosts)
self.a = ColumnFamily(client, cassandra_keyspace, "Users", super=True)
self.e = Error()
def _check(self, username):
try:
username = username.strip().lower()
self.a.get(username)
return 1
except (NotFoundException, InvalidRequestException):
return 0
def _remove(self, username):
try:
username = username.strip().lower()
self.a.remove(username)
return 1
except (NotFoundException, InvalidRequestException):
return 0
def _register(self, username, password, phone_number):
try:
username = username.strip().lower()
if self._check(username) == 1:
return False
salt = str(random())
password = sha512(password + salt).hexdigest()
self.a.insert(
username,
{
"info": {
"password": password,
"salt": salt,
"phone_number": str(phone_number),
"join_time": str(datetime.now()),
}
},
)
return True
except (NotFoundException, InvalidRequestException):
return False
def _login(self, username, password):
try:
username = username.strip().lower()
store_data = self.a.get(username, super_column="info")
store_passwd = store_data["password"]
store_salt = store_data["salt"]
store_join_time = datetime.strptime(store_data["join_time"], "%Y-%m-%d %H:%M:%S.%f")
password = sha512(password + store_salt).hexdigest()
if password == store_passwd:
session_id = md5(username + str(datetime.now())).hexdigest()
# --- check trial expire ---
delta = datetime.now() - store_join_time
if delta.days > trial_time:
return 402
# --- end check ---
self.a.insert("session_id", {session_id: {"username": username, "timestamp": str(datetime.now())}})
return session_id
return False
except (NotFoundException, InvalidRequestException):
return False
def _logout(self, session_id):
try:
self.a.get("session_id", super_column=session_id) # check if exist
self.a.remove("session_id", session_id)
return True
except (NotFoundException, InvalidRequestException):
return False
def register(self, environ):
try:
username = environ["request"]["username"]
password = environ["request"]["password"]
phone_number = environ["request"]["phone_number"]
except KeyError:
return self.e.bad_request("Hành động này yêu cầu 4 tham số: username, password, phone_number và api_key")
username = username.strip().lower()
# check params
allow_chars = lowercase + "[email protected]"
for char in username:
if char not in allow_chars:
self.e.param_error("Tên đăng nhập chỉ được dùng các ký tự a-z, A-Z và [email protected]")
if len(password) != 32:
return self.e.param_error("Mật khẩu phải được mã hóa md5 trước khi gửi lên")
# ----- check phone_number (dạng 841673450799) -----
if phone_number != "":
#.........这里部分代码省略.........