utils.global_messages module¶
global_messages.py
成功与错误提示信息的常量
读取、增添和传递信息
通过URL便捷传递信息
更容易读取请求和目录
@Author pht @Date 2022-02-17
- utils.global_messages.MESSAGECONTEXT¶
dict
的别名
- utils.global_messages.append_query(url: str, *, _query: str = '', **querys)[源代码]¶
在URL末尾附加GET参数
关键字参数 - _query: str, 直接用于拼接的字符串
说明 - 已包含GET参数的URL将会以`&`连接 - _query开头无需包含`?`或`&` - 基于字符串(str)拼接,URL不能包含段参数`#`
- utils.global_messages.get_warning(source: dict, normalize=False)[源代码]¶
尝试以字典格式读取,失败时返回全None的元组,不抛出异常
- utils.global_messages.message_url(context: dict | dict, url: str = '/welcome/') str [源代码]¶
提供要发送的信息体和原始URL,返回带提示信息的URL - context: 包含`warn_code`和`warn_message`的字典 - url: str, 可以包含GET参数
- utils.global_messages.read_GET(request, key: str, trans_func=None, default=None, raise_exception=False)[源代码]¶
读取GET参数
key: 待读取的键值
default: 键不存在时的返回值, 默认为`None`
trans_func: 可选, 键存在时, 结果的类型转换函数, 如`int`, str
raise_exception: 键不存在时是否抛出异常, 默认不抛出
调用者保证`request`是一个请求,否则行为未定义
- utils.global_messages.read_POST(request, key: str, trans_func=None, default=None, raise_exception=False)[源代码]¶
读取POST参数
key: 待读取的键值
default: 键不存在时的返回值, 默认为`None`
trans_func: 可选, 键存在时, 结果的类型转换函数, 如`int`, str
raise_exception: 键不存在时是否抛出异常, 默认不抛出
调用者保证`request`是一个请求,否则行为未定义
- utils.global_messages.read_content(_content: dict, *_keys: str, _default=None, _trans_func: Callable = None, _raise: bool = False, _flat: bool = False, **_fields: Callable | Any | Sequence) dict | tuple [源代码]¶
### 读取目录
#### 读取字段 - _keys: 以默认设置读取的键值表 - _fields: 以自定义格式读取的键,值以如下顺序解读(未解析部分以默认值补齐):
如果可调用,被视为_trans_func参数
如果是字符类序列,被视为_default参数
如果可切片,至多三个起始元素分别对应_default,_trans_func和_raise参数
当元素不足3个且第一个参数可调用时,元素分别对应_trans_func和_raise参数
如果不可切片,被视为_default参数
#### 设置 - _default: 键不存在时的返回值, 默认为`None` - _trans_func: 可选, 键存在时, 结果的类型转换函数, 如`int`, str - _raise: 键不存在时是否抛出异常, 默认不抛出 - _flat: 以值列表顺序输出结果,按照先keys后fields的顺序,默认以字典输出
#### 样例代码 ``` c = dict(a=1, b=2, d='msg') # 读取可选字段 >>> read_content(c, 'a', 'c', _trans_func=int) <<< {'a': 1, 'c': None}
# 读取必要(类型匹配)字段 >>> read_content(c, 'd', _raise=True) <<< {'d': 'msg'}
# 同时读取必要和可选字段并检查/转化(可选为主) >>> read_content( ... c, 'a', 'c', _default=0., _trans_func=float, ... d=(str, True), ... ) <<< {'a': 1.0, 'c': 0.0, 'd': 'msg'} >>> read_content( ... c, 'a', 'c', _default=0., _trans_func=float, ... d=(int, True), e=(None, None, True), ... ) <<< ValueError: invalid literal for int() with base 10: 'msg'
# 同时读取必要和可选字段并检查/转化(必要为主) >>> read_content( ... c, 'a', _raise=True, ... b=float, d=str, ... c=('', str, False), ... ) <<< {'a': 1, 'b': 2.0, 'd': 'msg', 'c': ''} # 输出为序列 >>> read_content( ... c, 'a', _raise=True, ... b=float, d=str, ... c=('', str, False), ... ) <<< (1, 2.0, 'msg', '') ```
- utils.global_messages.read_key(content: dict, key: str, trans_func: Callable = None, default=None, raise_exception=False)[源代码]¶
读取键
key: 待读取的键值
default: 键不存在时的返回值, 默认为`None`
trans_func: 可选, 键存在时, 结果的类型转换函数, 如`int`, str
raise_exception: 键不存在时是否抛出异常, 默认不抛出
- utils.global_messages.succeed(message: str, context: dict = None) dict [源代码]¶
在成功的情况下返回的字典, message为提示信息 如果提供了context,则向其中添加信息