Vai al contenuto

Riferimento per hub_sdk/modules/users.py

Nota

Questo file è disponibile all'indirizzo https://github.com/ultralytics/ hub-sdk/blob/main/ hub_sdk/modules/users .py. Se riscontri un problema, contribuisci a risolverlo inviando una Pull Request 🛠️. Grazie 🙏!



hub_sdk.modules.users.Users

Basi: CRUDClient

Una classe che rappresenta un client per interagire con gli utenti tramite operazioni CRUD. Questa classe estende la classe CRUDClient e fornisce metodi specifici per lavorare con gli utenti.

Attributi:

Nome Tipo Descrizione
id (str, None)

L'identificativo unico dell'utente, se disponibile.

data dict

Un dizionario per memorizzare i dati dell'utente.

Nota

L'attributo "id" viene impostato durante l'inizializzazione e può essere utilizzato per identificare in modo univoco un utente. L'attributo 'data' viene utilizzato per memorizzare i dati dell'utente recuperati dall'API.

Codice sorgente in 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)

Inizializza un oggetto Utenti per interagire con i dati degli utenti tramite operazioni CRUD.

Parametri:

Nome Tipo Descrizione Predefinito
user_id str

L'identificativo unico dell'utente.

None
headers dict

Un dizionario di intestazioni HTTP da includere nelle richieste API.

None
Codice sorgente in 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)

Crea un nuovo utente con i dati forniti e imposta l'ID utente per l'istanza corrente.

Parametri:

Nome Tipo Descrizione Predefinito
user_data dict

Un dizionario contenente i dati per la creazione dell'utente.

richiesto

Restituzione:

Tipo Descrizione
None

Il metodo non restituisce un valore.

Codice sorgente in 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)

Elimina la risorsa utente rappresentata da questa istanza.

Parametri:

Nome Tipo Descrizione Predefinito
hard bool

Se Vero, esegui una cancellazione definitiva.

False
Nota

Il parametro "hard" determina se eseguire una cancellazione soft (predefinita) o una cancellazione hard. In una cancellazione morbida, il modello potrebbe essere contrassegnato come eliminato ma conservato nel sistema. In caso di cancellazione definitiva, il modello viene rimosso in modo permanente dal sistema.

Restituzione:

Tipo Descrizione
Optional[Response]

Oggetto di risposta della richiesta di cancellazione, o Nessuno se la cancellazione fallisce

Codice sorgente in 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()

Recupera i dati dell'istanza utente corrente.

Se è stato impostato un ID utente valido, invia una richiesta per recuperare i dati dell'utente e li memorizza nell'istanza. Se non è stato impostato alcun ID utente, viene visualizzato un messaggio di errore.

Restituzione:

Tipo Descrizione
None

Il metodo non restituisce un valore.

Codice sorgente in 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)

Aggiorna la risorsa utente rappresentata da questa istanza.

Parametri:

Nome Tipo Descrizione Predefinito
data dict

I dati aggiornati della risorsa utente.

richiesto

Restituzione:

Tipo Descrizione
Optional[Response]

Oggetto di risposta della richiesta di aggiornamento, o Nessuno se l'aggiornamento fallisce

Codice sorgente in 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)