Третий коммит, добавление share, share_kb, а также ADMIN_ID

This commit is contained in:
2025-07-22 13:50:14 +03:00
parent 849feb7beb
commit b98123f4dc
1479 changed files with 323549 additions and 11 deletions

View File

@@ -0,0 +1,64 @@
"""
This module contains utility functions for working with dataclasses in Python.
DO NOT USE THIS MODULE DIRECTLY. IT IS INTENDED FOR INTERNAL USE ONLY.
"""
import sys
from typing import Any, Union
def dataclass_kwargs(
init: Union[bool, None] = None,
repr: Union[bool, None] = None,
eq: Union[bool, None] = None,
order: Union[bool, None] = None,
unsafe_hash: Union[bool, None] = None,
frozen: Union[bool, None] = None,
match_args: Union[bool, None] = None,
kw_only: Union[bool, None] = None,
slots: Union[bool, None] = None,
weakref_slot: Union[bool, None] = None,
) -> dict[str, Any]:
"""
Generates a dictionary of keyword arguments that can be passed to a Python
dataclass. This function allows specifying attributes related to the behavior
and configuration of dataclasses, including attributes added in specific
Python versions. This abstraction improves compatibility across different
Python versions by ensuring only the parameters supported by the current
version are included.
:return: A dictionary containing the specified dataclass configuration that
dynamically adapts to the current Python version.
"""
params = {}
# All versions
if init is not None:
params["init"] = init
if repr is not None:
params["repr"] = repr
if eq is not None:
params["eq"] = eq
if order is not None:
params["order"] = order
if unsafe_hash is not None:
params["unsafe_hash"] = unsafe_hash
if frozen is not None:
params["frozen"] = frozen
# Added in 3.10
if sys.version_info >= (3, 10):
if match_args is not None:
params["match_args"] = match_args
if kw_only is not None:
params["kw_only"] = kw_only
if slots is not None:
params["slots"] = slots
# Added in 3.11
if sys.version_info >= (3, 11):
if weakref_slot is not None:
params["weakref_slot"] = weakref_slot
return params