+
     h  c                   s    R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
Ht ^ RIHtHtHtHtHt ^ RIHtHtHt ^ RIHt ]R	,           t ! R
 R	4      tR# )aQ  SecretStorage item contains a *secret*, some *attributes* and a
*label* visible to user. Editing all these properties and reading the
secret is possible only when the :doc:`collection <collection>` storing
the item is unlocked. The collection can be unlocked using collection's
:meth:`~secretstorage.collection.Collection.unlock` method.)Optional)DBusConnection)	SS_PREFIX)Session)LockedExceptionPromptDismissedException)DBusAddressWrapperexec_promptopen_sessionformat_secretunlock_objects)Cipher
algorithmsmodes)default_backendItemc                   s:  a  ] tR t^t o RtR"V 3R lR lltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltR#V 3R lR lltV 3R lR ltV 3R lR  ltR!tV tR# )$r   zRepresents a secret item.Nc                s@   < V ^8  d   QhRS[ RS[RS[S[,          RR/# )   
connection	item_pathsessionreturnN)r   strr    r   Zformat__classdict__   "7/usr/lib/python3.14/site-packages/secretstorage/item.py__annotate__Item.__annotate__   s1     % %> %%*27*;%GK%    c                s    W n         \        V\        V4      V n        V P                  P	                  R 4       W0n        Wn        R# )LabelN)r   r   
ITEM_IFACE_itemget_propertyr   r   )selfr   r   r   s   &&&&r   __init__ZItem.__init__   s3    "'	:zJ


($r   c                s$   < V ^8  d   QhRRRS[ /# )r   otherr   r   boolr   r   r   r   r   $   s     1 1, 1 1r   c                sx    \        VP                  \        4      '       g   Q hV P                  VP                  8H  # N)
isinstancer   r   )r!   r#      &&r   __eq__ZItem.__eq__$   s,    %//3////~~00r   c                    < V ^8  d   QhRS[ /# r   r   r$   r   r   r   r   r   (   s     7 74 7r   c                sJ    \        V P                  P                  R4      4      # )zBReturns :const:`True` if item is locked, otherwise
:const:`False`.ZLocked)r%   r   r    r!      &r   	is_lockedZItem.is_locked(   s     DJJ++H566r   c                   < V ^8  d   QhRR/# r   r   N r   r   r   r   r   -   s     5 54 5r   c                sH    V P                  4       '       d   \        R4      hR# )zQIf collection is locked, raises
:exc:`~secretstorage.exceptions.LockedException`.zItem is locked!N)r.   r   r,   r-   r   ensure_not_lockedZItem.ensure_not_locked-   s"     >>!"344 r   c                r*   r+   r$   r   r   r   r   r   3   s     A A Ar   c                sD    \        V P                  V P                  .4      # )ay  Requests unlocking the item. Usually, this means that the
whole collection containing this item will be unlocked.

Returns a boolean representing whether the prompt has been
dismissed; that means :const:`False` on successful unlocking
and :const:`True` if it has been dismissed.

.. versionadded:: 2.1.2

.. versionchanged:: 3.0
   No longer accepts the ``callback`` argument.
)r
   r   r   r,   r-   r   unlockZItem.unlock3   s     doo/?@@r   c                s6   < V ^8  d   QhRS[ S[S[3,          /# r+   dictr   r   r   r   r   r   B   s      S#X r   c                sN    V P                   P                  R4      p\        V4      # )z%Returns item attributes (dictionary).
Attributes)r   r    r5   )r!   Zattrs   & r   get_attributesZItem.get_attributesB   s     

''5E{r   c                s:   < V ^8  d   QhRS[ S[S[3,          RR/# )r   
attributesr   Nr4   r   r   r   r   r   G   s'     C Cc3h CD Cr   c                s@    V P                   P                  RRV4       R# )z2Sets item attributes to `attributes` (dictionary).r6   za{ss}N)r   set_property)r!   r9   r(   r   set_attributesZItem.set_attributesG   s    

gzBr   c                r*   r+   r   r   r   r   r   r   K   s      3 r   c                l    V P                   P                  R4      p\        V\        4      '       g   Q hV# )z$Returns item label (unicode string).r   )r   r    r'   r   r!   labelr7   r   	get_labelZItem.get_labelK   s.    

''0%%%%%r   c                s$   < V ^8  d   QhRS[ RR/# )r   r?   r   Nr<   r   r   r   r   r   Q   s     5 5s 5t 5r   c                s`    V P                  4        V P                  P                  RRV4       R# )zSets item label to `label`.r   ZsN)r2   r   r:   r>   r(   r   	set_labelZItem.set_labelQ   s$     

e4r   c                r/   r0   r1   r   r   r   r   r   V   s     D D Dr   c                s    V P                  4        V P                  P                  RR4      w  pVR8w  d.   \        V P                  V4      w  r#V'       d   \        R4      hR# R# )zDeletes the item.ZDeleteZ Z/zPrompt dismissed.N)r2   r   callr   r   r   )r!   ZpromptZ	dismissedZ_results   &   r   deleteZItem.deleteV   sW     **//(B/S=!,T__f!EI./BCC  r   c                r*   r+   )bytesr   r   r   r   r   _   s     2 2E 2r   c                s   V P                  4        V P                  '       g   \        V P                  4      V n        V P                  P                  RRV P                  P                  4      w  pV P                  P                  '       g   \        V^,          4      # V P                  P                  f   Q h\        P                  ! V P                  P                  4      p\        V^,          4      p\        V\        P                  ! V4      \        4       4      P!                  4       pV^,          pVP#                  \        V4      4      VP%                  4       ,           p\'        V\        4      '       g   Q hVRVR,          )  # )z!Returns item secret (bytestring).	GetSecretoNi)r2   r   r   r   r   rB   object_pathZ	encryptedrD   Zaes_keyr   ZAESr   r   ZCBCr   	decryptorZupdateZfinalizer'   )r!   secretZaesZaes_ivrH   Zencrypted_secretZpadded_secrets   &      r   
get_secretZItem.get_secret_   s    |||'8DL**//+sDLL4L4LM||%%%##||##///nnT\\112vay!3		& 1?3DEOOQ	!!9!((/?)@AIDVDVDXX-////0}R0011r   c                r*   r+   r<   r   r   r   r   r   p   s       r   c                s   V P                  4        V P                  '       g   \        V P                  4      V n        V P                  P                  RRV P                  P                  4      w  p\        V^,          4      # )z-Returns content type of item secret (string).rE   rF   )r2   r   r   r   r   rB   rG   r   )r!   rI   r7   r   get_secret_content_typeZItem.get_secret_content_typep   sW     |||'8DL**//+sDLL4L4LM6!9~r   c                s*   < V ^8  d   QhRS[ RS[RR/# )r   rI   content_typer   N)rD   r   r   r   r   r   r   x   s$     	: 	: 	:!$	:8<	:r   c                s    V P                  4        V P                  '       g   \        V P                  4      V n        \	        V P                  W4      pV P
                  P                  RRV4       R# )zSets item secret to `secret`. If `content_type` is given,
also sets the content type of the secret (``text/plain`` by
default).Z	SetSecretz(oayays)N)r2   r   r   r   r	   r   rB   )r!   rI   rL   Z_secrets   &&& r   
set_secretZItem.set_secretx   sM    
 	 |||'8DLfC

Z9r   c                r*   r+   intr   r   r   r   r      s      S r   c                r=   )zhReturns UNIX timestamp (integer) representing the time
when the item was created.

.. versionadded:: 1.1ZCreatedr   r    r'   rO   )r!   Zcreatedr7   r   get_createdZItem.get_created   s0    
 **)))4'3''''r   c                r*   r+   rN   r   r   r   r   r      s      c r   c                r=   )zWReturns UNIX timestamp (integer) representing the time
when the item was last modified.ZModifiedrP   )r!   Zmodifiedr7   r   get_modifiedZItem.get_modified   s0     ::**:6(C((((r   )r   r   r   r   r&   )z
text/plain)Z__name__Z
__module__Z__qualname__Z__firstlineno____doc__r"   r)   r.   r2   r3   r8   r;   r@   rA   rC   rJ   rK   rM   rQ   rR   Z__static_attributes__Z__classdictcell__)r   s   @r   r   r      s     #% %1 17 7
5 5A A 
C C 5 5
D D2 2" 	: 	:  r   N)rS   Ztypingr    Zjeepney.io.blockingr   Zsecretstorage.definesr   Zsecretstorage.dhcryptor   Zsecretstorage.exceptionsr   r   Zsecretstorage.utilr   r   r   r	   r
   Z&cryptography.hazmat.primitives.ciphersr   r   r   Zcryptography.hazmat.backendsr   r   r   r1   r   r   <module>rT      sD   ?  . + * N: : L L 8
x xr   