Перейти к содержимому

Ссылка для hub_sdk/modules/users.py

Примечание

Этот файл доступен по адресу https://github.com/ultralytics/ hub-sdk/blob/main/ hub_sdk/modules/users .py. Если ты заметил проблему, пожалуйста, помоги исправить ее, отправив Pull Request 🛠️. Спасибо 🙏!



hub_sdk.modules.users.Users

Базы: CRUDClient

Класс, представляющий клиента для взаимодействия с юзерами посредством CRUD-операций. Этот класс расширяет класс CRUDClient класс и предоставляет специфические методы для работы с Пользователями.

Атрибуты:

Имя Тип Описание
id (str, None)

Уникальный идентификатор пользователя, если таковой имеется.

data dict

Словарь для хранения пользовательских данных.

Примечание

Атрибут 'id' устанавливается при инициализации и может использоваться для уникальной идентификации пользователя. Атрибут 'data' используется для хранения пользовательских данных, получаемых из API.

Исходный код в hub_sdk/modules/users.py
class Users(CRUDClient):
    """
    A class representing a client for interacting with Users through CRUD operations. This class extends the CRUDClient
    class and provides specific methods for working with Users.

    Attributes:
        id (str, None): The unique identifier of the user, if available.
        data (dict): A dictionary to store user data.

    Note:
        The 'id' attribute is set during initialization and can be used to uniquely identify a user.
        The 'data' attribute is used to store user data fetched from the API.
    """

    def __init__(self, user_id: Optional[str] = None, headers: Optional[Dict[str, Any]] = None) -> None:
        """
        Initialize a Users object for interacting with user data via CRUD operations.

        Args:
            user_id (str, optional): The unique identifier of the user.
            headers (dict, optional): A dictionary of HTTP headers to be included in API requests.
        """
        super().__init__("users", "user", headers)
        self.id = user_id
        self.data = {}
        if user_id:
            self.get_data()

    def get_data(self) -> None:
        """
        Retrieves data for the current user instance.

        If a valid user ID has been set, it sends a request to fetch the user data and stores it in the instance.
        If no user ID has been set, it logs an error message.

        Returns:
            (None): The method does not return a value.
        """
        if self.id:
            resp = super().read(self.id).json()
            self.data = resp.get("data", {})
            self.logger.debug("user id is %s", self.id)
        else:
            self.logger.error("No user id has been set. Update the user id or create a user.")

    def create_user(self, user_data: dict) -> None:
        """
        Creates a new user with the provided data and sets the user ID for the current instance.

        Args:
            user_data (dict): A dictionary containing the data for creating the user.

        Returns:
            (None): The method does not return a value.
        """
        resp = super().create(user_data).json()
        self.id = resp.get("data", {}).get("id")
        self.get_data()

    def delete(self, hard: bool = False) -> Optional[Response]:
        """
        Delete the user resource represented by this instance.

        Args:
            hard (bool, optional): If True, perform a hard delete.

        Note:
            The 'hard' parameter determines whether to perform a soft delete (default) or a hard delete.
            In a soft delete, the model might be marked as deleted but retained in the system.
            In a hard delete, the model is permanently removed from the system.

        Returns:
            (Optional[Response]): Response object from the delete request, or None if delete fails
        """
        return super().delete(self.id, hard)

    def update(self, data: dict) -> Optional[Response]:
        """
        Update the user resource represented by this instance.

        Args:
            data (dict): The updated data for the user resource.

        Returns:
            (Optional[Response]): Response object from the update request, or None if update fails
        """
        return super().update(self.id, data)

__init__(user_id=None, headers=None)

Инициализируй объект Users для взаимодействия с пользовательскими данными посредством CRUD-операций.

Параметры:

Имя Тип Описание По умолчанию
user_id str

Уникальный идентификатор пользователя.

None
headers dict

Словарь HTTP-заголовков, которые должны быть включены в запросы к API.

None
Исходный код в hub_sdk/modules/users.py
def __init__(self, user_id: Optional[str] = None, headers: Optional[Dict[str, Any]] = None) -> None:
    """
    Initialize a Users object for interacting with user data via CRUD operations.

    Args:
        user_id (str, optional): The unique identifier of the user.
        headers (dict, optional): A dictionary of HTTP headers to be included in API requests.
    """
    super().__init__("users", "user", headers)
    self.id = user_id
    self.data = {}
    if user_id:
        self.get_data()

create_user(user_data)

Создает нового пользователя с предоставленными данными и устанавливает идентификатор пользователя для текущего экземпляра.

Параметры:

Имя Тип Описание По умолчанию
user_data dict

Словарь, содержащий данные для создания пользователя.

требуется

Возвращается:

Тип Описание
None

Метод не возвращает значение.

Исходный код в hub_sdk/modules/users.py
def create_user(self, user_data: dict) -> None:
    """
    Creates a new user with the provided data and sets the user ID for the current instance.

    Args:
        user_data (dict): A dictionary containing the data for creating the user.

    Returns:
        (None): The method does not return a value.
    """
    resp = super().create(user_data).json()
    self.id = resp.get("data", {}).get("id")
    self.get_data()

delete(hard=False)

Удали пользовательский ресурс, представленный этим экземпляром.

Параметры:

Имя Тип Описание По умолчанию
hard bool

Если True, выполни жесткое удаление.

False
Примечание

Параметр 'hard' определяет, выполнять ли мягкое удаление (по умолчанию) или жесткое. При мягком удалении модель может быть помечена как удаленная, но сохраниться в системе. При жестком удалении модель навсегда удаляется из системы.

Возвращается:

Тип Описание
Optional[Response]

Объект ответа на запрос удаления или None, если удаление не удалось.

Исходный код в hub_sdk/modules/users.py
def delete(self, hard: bool = False) -> Optional[Response]:
    """
    Delete the user resource represented by this instance.

    Args:
        hard (bool, optional): If True, perform a hard delete.

    Note:
        The 'hard' parameter determines whether to perform a soft delete (default) or a hard delete.
        In a soft delete, the model might be marked as deleted but retained in the system.
        In a hard delete, the model is permanently removed from the system.

    Returns:
        (Optional[Response]): Response object from the delete request, or None if delete fails
    """
    return super().delete(self.id, hard)

get_data()

Получает данные для текущего экземпляра пользователя.

Если задан правильный идентификатор пользователя, он отправляет запрос на получение пользовательских данных и сохраняет их в экземпляре. Если идентификатор пользователя не был задан, он записывает в журнал сообщение об ошибке.

Возвращается:

Тип Описание
None

Метод не возвращает значение.

Исходный код в hub_sdk/modules/users.py
def get_data(self) -> None:
    """
    Retrieves data for the current user instance.

    If a valid user ID has been set, it sends a request to fetch the user data and stores it in the instance.
    If no user ID has been set, it logs an error message.

    Returns:
        (None): The method does not return a value.
    """
    if self.id:
        resp = super().read(self.id).json()
        self.data = resp.get("data", {})
        self.logger.debug("user id is %s", self.id)
    else:
        self.logger.error("No user id has been set. Update the user id or create a user.")

update(data)

Обнови пользовательский ресурс, представленный этим экземпляром.

Параметры:

Имя Тип Описание По умолчанию
data dict

Обновленные данные для пользовательского ресурса.

требуется

Возвращается:

Тип Описание
Optional[Response]

Объект ответа на запрос обновления или None, если обновление не удалось.

Исходный код в hub_sdk/modules/users.py
def update(self, data: dict) -> Optional[Response]:
    """
    Update the user resource represented by this instance.

    Args:
        data (dict): The updated data for the user resource.

    Returns:
        (Optional[Response]): Response object from the update request, or None if update fails
    """
    return super().update(self.id, data)