utils.global_messages module

global_messages.py

  • 成功与错误提示信息的常量

  • 读取、增添和传递信息

  • 通过URL便捷传递信息

  • 更容易读取请求和目录

@Author pht @Date 2022-02-17

utils.global_messages.MESSAGECONTEXT

dict 的别名

utils.global_messages.alert(message: str, context: dict = None) dict[源代码]
utils.global_messages.append_query(url: str, *, _query: str = '', **querys)[源代码]

在URL末尾附加GET参数

关键字参数 - _query: str, 直接用于拼接的字符串

说明 - 已包含GET参数的URL将会以`&`连接 - _query开头无需包含`?`或`&` - 基于字符串(str)拼接,URL不能包含段参数`#`

utils.global_messages.get_alert(source: dict, normalize=False)[源代码]

尝试以字典格式读取,失败时返回全None的元组,不抛出异常

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: 以自定义格式读取的键,值以如下顺序解读(未解析部分以默认值补齐):

  1. 如果可调用,被视为_trans_func参数

  2. 如果是字符类序列,被视为_default参数

  3. 如果可切片,至多三个起始元素分别对应_default,_trans_func和_raise参数

  4. 当元素不足3个且第一个参数可调用时,元素分别对应_trans_func和_raise参数

  5. 如果不可切片,被视为_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,则向其中添加信息

utils.global_messages.transfer_message_context(source: dict, context=None, with_alert=False, normalize=True) dict[源代码]

将来源中的全局消息导出到context 如果未提供context,则创建一个新字典

utils.global_messages.wrong(message: str, context: dict = None) dict[源代码]

在错误的情况下返回的字典, message为错误信息 如果提供了context,则向其中添加信息