yeying.client.utils package
Submodules
yeying.client.utils.date_utils module
- yeying.client.utils.date_utils.convert_to_local_datetime(dt)
- yeying.client.utils.date_utils.convert_to_utc_datetime(dt)
- yeying.client.utils.date_utils.format_datetime(dt)
- yeying.client.utils.date_utils.from_iso(s: str) datetime
从 ISO 字符串创建 datetime 对象
- Parameters:
s – ISO 8601 格式的日期字符串
- Returns:
解析后的 datetime 对象
- Raises:
ValueError – 如果字符串无法解析则抛出错误
- Example:
dt = from_iso(“2023-05-15T12:34:56.789+00:00”)
- yeying.client.utils.date_utils.get_current_iso_string()
- yeying.client.utils.date_utils.get_current_utc_datetime()
- yeying.client.utils.date_utils.get_current_utc_string()
- yeying.client.utils.date_utils.is_expired(s, minutes)
- yeying.client.utils.date_utils.parse_datetime(s)
- yeying.client.utils.date_utils.plus_second(dt: datetime, seconds: int) datetime
向 datetime 对象添加指定的秒数
- Parameters:
dt – 原始 datetime 对象
seconds – 要添加的秒数
- Returns:
添加秒数后的新 datetime 对象
>>> now = datetime.utcnow() >>> future = plus_second(now, 3600) # 添加 1 小时(3600 秒)
- yeying.client.utils.date_utils.to_iso(dt: datetime) str
将 datetime 对象转换为 ISO 8601 格式字符串
- Parameters:
dt – 要转换的 datetime 对象
- Returns:
ISO 8601 格式的字符串表示
- Example:
now = datetime.now(timezone.utc) iso_str = to_iso(now) # 返回 “2023-05-15T12:34:56.789+00:00”
yeying.client.utils.digital_format_utils module
- yeying.client.utils.digital_format_utils.get_digital_format_by_name(name: str) <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7fca5bce7c20>
- yeying.client.utils.digital_format_utils.get_ext_list_by_digital_format(digital_format: <google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper object at 0x7fca5bce7c20>)
yeying.client.utils.log_utils module
- yeying.client.utils.log_utils.get_logger(name)
yeying.client.utils.object_utils module
- yeying.client.utils.object_utils.composite(*byte_arrays)
将多个字节数组拼接成一个新的字节数组。
- yeying.client.utils.object_utils.concat(*args)
接受变长参数,将各种类型按顺序拼接成字符串,并编码成字节。
- yeying.client.utils.object_utils.safe_get(d, *args)
安全地获取嵌套JSON对象中的值。 :param d: 待查询的字典或JSON对象 :param args: 键的列表,表示要查询的路径 :return: 如果找到指定路径的值,则返回该值;否则,返回None
- yeying.client.utils.object_utils.sort_keys(json)
排序JSON数据的函数,包括其嵌套的对象和数组, 默认会移除值为None的健
yeying.client.utils.signature_utils module
- yeying.client.utils.signature_utils.decode_hex(hex_str: str) bytes
将十六进制字符串解码为字节数组
- 参数:
hex_str: 十六进制格式的字符串
- 返回:
bytes: 解码后的字节数组
- 异常:
ValueError: 如果输入包含非十六进制字符或长度为奇数
- yeying.client.utils.signature_utils.encode_hex(data: bytes | bytearray | memoryview) str
将字节数据编码为十六进制字符串
- 参数:
data: 字节数据,支持 bytes、bytearray 或 memoryview 类型
- 返回:
str: 小写十六进制字符串
- 异常:
TypeError: 如果输入不是字节类型
- yeying.client.utils.signature_utils.sign(private_key, data, sigencode=<function sigencode_der>)
- yeying.client.utils.signature_utils.verify(public_key: str, data: bytes, signature: str, sigdecode=<function sigdecode_der>)
yeying.client.utils.string_utils module
- yeying.client.utils.string_utils.decode_base64(data: str) bytes
解码 Base64 字符串为字节数组
- 参数:
data: Base64 编码的字符串
- 返回:
bytes: 解码后的字节数组
- yeying.client.utils.string_utils.generate_uuid()
- yeying.client.utils.string_utils.is_empty(s)
- yeying.client.utils.string_utils.unicode_decode(name)
- yeying.client.utils.string_utils.unicode_encode(name)