انتقل إلى المحتوى

مرجع ل hub_sdk/modules/users.py

ملاحظه

هذا الملف متاح في https://github.com/ultralytics/hub-SDK / نقطة / الرئيسية /hub_sdk / وحدات / المستخدمين .py. إذا اكتشفت مشكلة ، فيرجى المساعدة في إصلاحها من خلال المساهمة في طلب 🛠️ سحب. شكرا لك 🙏!



hub_sdk.modules.users.Users

قواعد: CRUDClient

فئة تمثل العميل للتفاعل مع المستخدمين من خلال عمليات CRUD. هذه الفئة تمدد CRUDClient فئة ويوفر طرقا محددة للعمل مع المستخدمين.

سمات:

اسم نوع وصف
id (str, None)

المعرف الفريد للمستخدم، إن وجد.

data dict

قاموس لتخزين بيانات المستخدم.

ملاحظه

يتم تعيين السمة "id" أثناء التهيئة ويمكن استخدامها لتحديد هوية المستخدم بشكل فريد. تستخدم سمة "البيانات" لتخزين بيانات المستخدم التي تم جلبها من واجهة برمجة التطبيقات.

شفرة المصدر في hub_sdk/modules/users.py
 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2728 29 30 31 32 33 34353637383940414243 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 656667686970717273 74 75 76 77 78 79 80 81 82 83 84 8586878889 90919293 94
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)

تهيئة كائن مستخدمين للتفاعل مع بيانات المستخدم عبر عمليات CRUD.

البارامترات:

اسم نوع وصف افتراضي
user_id str

المعرف الفريد للمستخدم.

None
headers dict

قاموس لرؤوس HTTP ليتم تضمينها في طلبات واجهة برمجة التطبيقات.

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

إذا كان هذا صحيحا ، فقم بإجراء حذف ثابت.

False
ملاحظه

تحدد المعلمة "hard" ما إذا كان سيتم إجراء حذف مبدئي (افتراضي) أو حذف نهائي. في حالة الحذف المبدئي ، قد يتم وضع علامة على النموذج على أنه محذوف ولكن يتم الاحتفاظ به في النظام. في حالة الحذف الثابت ، تتم إزالة النموذج نهائيا من النظام.

ارجاع:

نوع وصف
Optional[Response]

كائن الاستجابة من طلب الحذف، أو لا شيء إذا فشل الحذف

شفرة المصدر في hub_sdk/modules/users.py
67 68 69 70 71 72 73 74 75 76 777879808182
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]

كائن الاستجابة من طلب التحديث، أو لا شيء إذا فشل التحديث

شفرة المصدر في 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)