
    ]Og                         S SK r S SKrS SKrS SKrS SKJr  / SQr " S S\5      r\" 5       r	S r
SS jrSS jr\S	:X  a  \	R                  S
\-  SS9  gg)    N)parse)grouptitlesubtitlemessagedelivered_atc                   R    \ rS rSrSrSS jrS rS rSS jrSS jr	\
S 5       rS	rg
)TerminalNotifier   z2.0.0c                    Xl         [        R                  " SS/[        R                  S9nUR	                  5       S   R                  5       nU(       aI  [        R                  R                  U5      (       a%  [        R                  R                  U5      U l
        O[        R                  R                  S5      (       a&  [        R                  R                  SS5      U l
        O[        R                  R                  [        R                  R                  [        5      SU R                  -  5      U l        [        R                  R                  U R                  S5      U l
        U R!                  5       (       d  [#        S	5      e[        R                  R                  U R                  5      (       d  [#        S
5      e[        R$                  " U R                  [        R&                  5      (       dn  [        R(                  " U R                  S5        [        R$                  " U R                  [        R&                  5      (       d  [#        SU R                  -  5      egg)ze
Raises an exception if not supported on the current platform or
if terminal-notifier was not found.
whichzterminal-notifier)stdoutr   z /usr/local/bin/terminal-notifierz/usr/local/bin/z1vendor/terminal-notifier-%s/terminal-notifier.appz Contents/MacOS/terminal-notifierz3pync is only supported on Mac OS X 10.8, or higher.z\pync was not properly installed. Head over to https://github.com/SeTeM/pync/ and file a bug.o   z&You have no privileges to execute "%s"N)_wait
subprocessPopenPIPEcommunicatestripospathexistsrealpathbin_pathjoindirname__file__TERMINAL_NOTIFIER_VERSIONapp_pathis_available	ExceptionaccessX_OKchmod)selfwaitprocenv_bin_paths       Z/Users/admin/workspace/ai/Jarvis/env/lib/python3.13/site-packages/pync/TerminalNotifier.py__init__TerminalNotifier.__init__   s   
 
*= >zW'')!,224BGGNN<88GG,,\:DMWW^^>??GGLL):<OPDMGGLL)CdFdFddDM GGLL8Z[DM  ""QRRww~~dmm,, / 0 0 yy00HHT]]C(99T]]BGG44 JT]] Z[[ 5 1    c           	      \   [         R                  S:  a  UR                  S5      nUR                  SS5      U l        SU/nX2R                  5        VVs/ s H  u  pESU-  [        U5      4PM     snn VVs/ s H  of  H  owPM     M     snn-  nU R                  U5      $ s  snnf s  snnf )a  
Sends a User Notification.

The available options are `title`, `group`, `activate`, `open`, `sound`, and
`execute`. For a description of each option see:

  https://github.com/alloy/terminal-notifier/blob/master/README.markdown

Examples are:

  Notifier = TerminalNotifier()

  Notifier.notify('Hello World')
  Notifier.notify('Hello World', title='Python')
  Notifier.notify('Hello World', sound='Ping')
  Notifier.notify('Hello World', group=os.getpid())
  Notifier.notify('Hello World', activate='com.apple.Safari')
  Notifier.notify('Hello World', open='http://github.com/')
  Notifier.notify('Hello World', execute='say "OMG"')

  The options `wait` is a boolean for whether or not we need to wait (block) for the background process to finish
)   zutf-8r&   Fz-messagez-%s)sysversion_infoencodepopr   itemsstrexecute)r%   r   kwargsargsargkeybas           r)   notifyTerminalNotifier.notify0   s    0 d"nnW-GZZ.
G$\\^T^eck3s84^T`Tq^_YZ^_T``||D!! U`s   B"7B(c                 @   U Vs/ s H  n[        U5      PM     nn[        R                  " U R                  /U-   [        R                  [        R
                  S9nU R                  (       a  UR                  5         UR                  (       a  [        S5      eU$ s  snf )N)r   stderrz"Some error during subprocess call.)
r4   r   r   r   r   STDOUTr   r&   
returncoder!   )r%   r7   r8   outputs       r)   r5   TerminalNotifier.executeR   st    $()DSCD)!!4=="3d"::??[e[l[lm::KKM@AA *s   Bc                 (    U R                  SU/5      $ u   
Removes a notification that was previously sent with the specified
‘group’ ID, if one exists.

If no ‘group’ ID is given, all notifications are removed.
z-remove)r5   r%   r   s     r)   removeTerminalNotifier.remove^   s     ||Y.//r,   c                 r   U R                  SU/5      R                  5       S   n[        5       nUR                  5       SS  H`  nUR	                  [        [        [        UR                  5       R                  S5      5      5      5         [        US   S   5      US   S'   Mb     U$ ! [         a     Ms  f = f)  
If a ‘group’ ID is given, and a notification for that group exists,
returns a dict with details about the notification.

If no ‘group’ ID is given, an array of hashes describing all
notifications.

If no information is available this will return [].
z-listr      N	r   )r5   r   list
splitlinesappenddictzipLIST_FIELDSdecodesplitr   
ValueError)r%   r   rB   reslines        r)   rN   TerminalNotifier.listg   s     w./;;=a@f%%'+DJJtCT[[]-@-@-FGHI*/B0G*HB' , 
  s   B((
B65B6c                      [         R                  " 5       S:X  d  g[         R                  " 5       S   R                  S5      SS u  p[	        U 5      S:  =(       d    [	        U5      S:  $ )	zHReturns whether or not the current platform is Mac OS X 10.8, or higher.DarwinFr   .N   
      )platformsystemmac_verrU   int)majorminors     r)   r    TerminalNotifier.is_available~   sX      H,'')!,2237;5zB1#e*/1r,   )r   r   r   N)FALL)__name__
__module____qualname____firstlineno__r   r*   r<   r5   rG   rN   staticmethodr    __static_attributes__ r,   r)   r
   r
      s7     '\> "D
0. 2 2r,   r
   c                 2    [         R                  " U 40 UD6  g)a  
Sends a User Notification.

The available options are `title`, `group`, `activate`, `open`, `sound`, and
`execute`. For a description of each option see:

  https://github.com/alloy/terminal-notifier/blob/master/README.markdown

Examples are:

  import pync

  pync.notify('Hello World')
  pync.notify('Hello World', title='Python')
  pync.notify('Hello World', sound='Ping')
  pync.notify('Hello World', group=os.getpid())
  pync.notify('Hello World', activate='com.apple.Safari')
  pync.notify('Hello World', open='http://github.com/')
  pync.notify('Hello World', execute='say "OMG"')

  The options `wait` is a boolean for whether or not we need to wait (block) for the background process to finish
N)Notifierr<   )r   r6   s     r)   r<   r<      s    . OOG&v&r,   c                 0    [         R                  SU /5      $ rE   )rq   r5   )r   s    r)   remove_notificationsrs      s     Y.//r,   c                 ,    [         R                  U5      $ )rJ   )rq   rN   rF   s     r)   list_notificationsru      s     ==r,   __main__zNotification from %szhttp://github.com)openrg   )r   r`   r   r/   dateutil.parserr   rS   objectr
   rq   r<   rs   ru   ri   r   ro   r,   r)   <module>rz      si    
   
 !Gx2v x2v '40
  zOO*X5<OOP r,   