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)

Module contents