� ���g�/���dZddlmZddlmZddlmZmZmZmZddl m Z ddl m Z edZ eGd �d ����ZeGd �d e����ZeGd �d����ZeGd�de����ZeGd�de����ZeGd�de����ZeGd�de����Zdedefd�ZdS)a Data structures to interact with Discussions and Pull Requests on the Hub. See [the Discussions and Pull Requests guide](https://huggingface.co/docs/hub/repositories-pull-requests-discussions) for more information on Pull Requests, Discussions, and the community tab. �)� dataclass)�datetime)�List�Literal�Optional�Union�)� constants)�parse_datetime)�open�closed�merged�draftc��eZdZUdZeed<eed<eed<eed<eed<eed<eed<e ed <eed <e d e efd ���Z e d efd ���Z dS)� Discussiona A Discussion or Pull Request on the Hub. This dataclass is not intended to be instantiated directly. Attributes: title (`str`): The title of the Discussion / Pull Request status (`str`): The status of the Discussion / Pull Request. It must be one of: * `"open"` * `"closed"` * `"merged"` (only for Pull Requests ) * `"draft"` (only for Pull Requests ) num (`int`): The number of the Discussion / Pull Request. repo_id (`str`): The id (`"{namespace}/{repo_name}"`) of the repo on which the Discussion / Pull Request was open. repo_type (`str`): The type of the repo on which the Discussion / Pull Request was open. Possible values are: `"model"`, `"dataset"`, `"space"`. author (`str`): The username of the Discussion / Pull Request author. Can be `"deleted"` if the user has been deleted since. is_pull_request (`bool`): Whether or not this is a Pull Request. created_at (`datetime`): The `datetime` of creation of the Discussion / Pull Request. endpoint (`str`): Endpoint of the Hub. Default is https://huggingface.co. git_reference (`str`, *optional*): (property) Git reference to which changes can be pushed if this is a Pull Request, `None` otherwise. url (`str`): (property) URL of the discussion on the Hub. �title�status�num�repo_id� repo_type�author�is_pull_request� created_at�endpoint�returnc�(�|jr d|j��SdS)z� If this is a Pull Request , returns the git reference to which changes can be pushed. Returns `None` otherwise. zrefs/pr/N)rr��selfs �i/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/huggingface_hub/community.py� git_referencezDiscussion.git_referenceEs$�� � � )�(�d�h�(�(� (��t�c��|j�|jtjkr|j�d|j�d|j��S|j�d|j�d|j�d|j��S)z-Returns the URL of the discussion on the Hub.N�/z /discussions/zs/)rr �REPO_TYPE_MODELrrrrs r�urlzDiscussion.urlOsi�� �>� !�T�^�y�7P�%P�%P��m�K�K�d�l�K�K���K�K� K��-�Y�Y�$�.�Y�Y�D�L�Y�Y�t�x�Y�Y�Yr!N)�__name__� __module__� __qualname__�__doc__�str�__annotations__�DiscussionStatus�int�boolr�propertyrr r%�r!rrrs��������$�$�L �J�J�J� ���� �H�H�H� �L�L�L��N�N�N� �K�K�K����������M�M�M� ��x��}�����X���Z�S�Z�Z�Z��X�Z�Z�Zr!rc��eZdZUdZeded<eeeedfed<e eed<e eed<e eed<dS) �DiscussionWithDetailsa7 Subclass of [`Discussion`]. Attributes: title (`str`): The title of the Discussion / Pull Request status (`str`): The status of the Discussion / Pull Request. It can be one of: * `"open"` * `"closed"` * `"merged"` (only for Pull Requests ) * `"draft"` (only for Pull Requests ) num (`int`): The number of the Discussion / Pull Request. repo_id (`str`): The id (`"{namespace}/{repo_name}"`) of the repo on which the Discussion / Pull Request was open. repo_type (`str`): The type of the repo on which the Discussion / Pull Request was open. Possible values are: `"model"`, `"dataset"`, `"space"`. author (`str`): The username of the Discussion / Pull Request author. Can be `"deleted"` if the user has been deleted since. is_pull_request (`bool`): Whether or not this is a Pull Request. created_at (`datetime`): The `datetime` of creation of the Discussion / Pull Request. events (`list` of [`DiscussionEvent`]) The list of [`DiscussionEvents`] in this Discussion or Pull Request. conflicting_files (`Union[List[str], bool, None]`, *optional*): A list of conflicting files if this is a Pull Request. `None` if `self.is_pull_request` is `False`. `True` if there are conflicting files but the list can't be retrieved. target_branch (`str`, *optional*): The branch into which changes are to be merged if this is a Pull Request . `None` if `self.is_pull_request` is `False`. merge_commit_oid (`str`, *optional*): If this is a merged Pull Request , this is set to the OID / SHA of the merge commit, `None` otherwise. diff (`str`, *optional*): The git diff if this is a Pull Request , `None` otherwise. endpoint (`str`): Endpoint of the Hub. Default is https://huggingface.co. git_reference (`str`, *optional*): (property) Git reference to which changes can be pushed if this is a Pull Request, `None` otherwise. url (`str`): (property) URL of the discussion on the Hub. �DiscussionEvent�eventsN�conflicting_files� target_branch�merge_commit_oid�diff) r&r'r(r)rr+rr*r.rr0r!rr2r2Ws}�������0�0�d �"� #�#�#�#��T�#�Y��d�2�3�3�3�3��C�=� � � ��s�m�#�#�#� �3�-�����r!r2c�F�eZdZUdZeed<eed<eed<eed<eed<dS)r3a� An event in a Discussion or Pull Request. Use concrete classes: * [`DiscussionComment`] * [`DiscussionStatusChange`] * [`DiscussionCommit`] * [`DiscussionTitleChange`] Attributes: id (`str`): The ID of the event. An hexadecimal string. type (`str`): The type of the event. created_at (`datetime`): A [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) object holding the creation timestamp for the event. author (`str`): The username of the Discussion / Pull Request author. Can be `"deleted"` if the user has been deleted since. �id�typerr�_eventN)r&r'r(r)r*r+r�dictr0r!rr3r3�sN���������, �G�G�G� �I�I�I����� �K�K�K� �L�L�L�M�Mr!r3c���eZdZUdZeed<eed<eed<edefd���Zede fd���Z edefd���Z ede e fd ���Zedefd ���Zd S) �DiscussionCommentazA comment in a Discussion / Pull Request. Subclass of [`DiscussionEvent`]. Attributes: id (`str`): The ID of the event. An hexadecimal string. type (`str`): The type of the event. created_at (`datetime`): A [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) object holding the creation timestamp for the event. author (`str`): The username of the Discussion / Pull Request author. Can be `"deleted"` if the user has been deleted since. content (`str`): The raw markdown content of the comment. Mentions, links and images are not rendered. edited (`bool`): Whether or not this comment has been edited. hidden (`bool`): Whether or not this comment has been hidden. �content�edited�hiddenrc�4�|jdddS)z&The rendered comment, as a HTML string�data�latest�html�r<rs r�renderedzDiscussionComment.rendered�s���{�6�"�8�,�V�4�4r!c�N�t|jddd��S)�+The last edit time, as a `datetime` object.rDrE� updatedAt)r r<rs r�last_edited_atz DiscussionComment.last_edited_at�s#���d�k�&�1�(�;�K�H�I�I�Ir!c�x�|jdd�di���dd��S)rJrDrEr�name�deleted)r<�getrs r�last_edited_byz DiscussionComment.last_edited_by�s6���{�6�"�8�,�0�0��2�>�>�B�B�6�9�U�U�Ur!c�(�|jddS)zThe edit history of the commentrD�historyrGrs r� edit_historyzDiscussionComment.edit_history�s���{�6�"�9�-�-r!c�*�t|j��S)N)�lenrTrs r�number_of_editsz!DiscussionComment.number_of_edits�s���4�$�%�%�%r!N)r&r'r(r)r*r+r.r/rHrrLrQrr=rTr-rWr0r!rr?r?�s ���������0�L�L�L� �L�L�L� �L�L�L� �5�#�5�5�5��X�5��J��J�J�J��X�J��V��V�V�V��X�V��.�d�4�j�.�.�.��X�.��&��&�&�&��X�&�&�&r!r?c��eZdZUdZeed<dS)�DiscussionStatusChangeaVA change of status in a Discussion / Pull Request. Subclass of [`DiscussionEvent`]. Attributes: id (`str`): The ID of the event. An hexadecimal string. type (`str`): The type of the event. created_at (`datetime`): A [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) object holding the creation timestamp for the event. author (`str`): The username of the Discussion / Pull Request author. Can be `"deleted"` if the user has been deleted since. new_status (`str`): The status of the Discussion / Pull Request after the change. It can be one of: * `"open"` * `"closed"` * `"merged"` (only for Pull Requests ) � new_statusN�r&r'r(r)r*r+r0r!rrYrY�s%���������.�O�O�O�O�Or!rYc�(�eZdZUdZeed<eed<dS)�DiscussionCommita�A commit in a Pull Request. Subclass of [`DiscussionEvent`]. Attributes: id (`str`): The ID of the event. An hexadecimal string. type (`str`): The type of the event. created_at (`datetime`): A [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) object holding the creation timestamp for the event. author (`str`): The username of the Discussion / Pull Request author. Can be `"deleted"` if the user has been deleted since. summary (`str`): The summary of the commit. oid (`str`): The OID / SHA of the commit, as a hexadecimal string. �summary�oidNr[r0r!rr]r]s.���������*�L�L�L� �H�H�H�H�Hr!r]c�(�eZdZUdZeed<eed<dS)�DiscussionTitleChangea�A rename event in a Discussion / Pull Request. Subclass of [`DiscussionEvent`]. Attributes: id (`str`): The ID of the event. An hexadecimal string. type (`str`): The type of the event. created_at (`datetime`): A [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) object holding the creation timestamp for the event. author (`str`): The username of the Discussion / Pull Request author. Can be `"deleted"` if the user has been deleted since. old_title (`str`): The previous title for the Discussion / Pull Request. new_title (`str`): The new title. � old_title� new_titleNr[r0r!rrara!s.���������*�N�N�N��N�N�N�N�Nr!ra�eventrc �`�|d}|d}t|d��}t||||�di���dd��|���}|dkr<tdi|�|d d |d d |d d d d���S|dkrt di|�d|d di��S|dkr)t di|�|d d|d dd���S|dkr)t di|�|d d|d dd���Stdi|��S)z.Instantiates a [`DiscussionEvent`] from a dictr:r;� createdAtrrNrO)r:r;rrr<�commentrDrArBrE�raw)rArBr@z status-changerZr�commit�subjectr_)r^r_z title-change�from�to)rbrcr0)r r=rPr?rYr]rar3)rd�event_id� event_typer� common_argss r�deserialize_eventrp<s����$�K�H��F�m�J���k� 2�3�3�J�� � ���y�y��2�&�&�*�*�6�9�=�=�� ���K��Y��� � � �� ���=��*���=��*��&�M�(�+�E�2�  � � � � � �_�$�$�%� � �� � ��V�}�X�.� � � � ��X���� � �� ��&�M�)�,��f� �e�$� � � � � � �^�#�#�$� � �� ��F�m�F�+��F�m�D�)� � � � � � � )� )�[� )� )�)r!N)r)� dataclassesrr�typingrrrr�r �utilsr r,rr2r3r?rYr]rar=rpr0r!r�<module>rusI����"�!�!�!�!�!�������1�1�1�1�1�1�1�1�1�1�1�1�������!�!�!�!�!�!��>�?�� �@Z�@Z�@Z�@Z�@Z�@Z�@Z� ��@Z�F �7�7�7�7�7�J�7�7� ��7�t �N�N�N�N�N�N�N� ��N�@ �3&�3&�3&�3&�3&��3&�3&� ��3&�l ������_��� ���6 � � � � � �� � � �� �4 ������O��� ���4'*�T�'*�o�'*�'*�'*�'*�'*�'*r!
Memory