
    Mgk
                     `    S SK r S SKr \R                  R                  \5      r " S S5      rg)    Nc                   Z    \ rS rSrSrSS jr S r S r S r S r	 S r
 S	 r S
 rSrg)Memory   z&
Initialize data with saved json file
c                 8   [         R                  R                  [        U5      U l        SU l         [        U R                  S5       n[        R                  " U5      U l        S S S 5        g ! , (       d  f       g = f! [         a    [        U R                  S5       nUR                  S5        S S S 5        O! , (       d  f       O= f[        U R                  S5       n[        R                  " U5      U l        S S S 5         g ! , (       d  f        g = ff = f)N rwz{})ospathjoinmodule_path	json_filedataopenjsonloadIOErrorwrite)selfmfilefs      D/Users/admin/workspace/ai/Jarvis/jarviscli/packages/memory/memory.py__init__Memory.__init__!   s    k59			)dnnc*a IIaL	 +** 	)dnnc*a +** dnnc*a IIaL	 +***	)s_   A> A-$A> -
A;7A> ;A> > DB90	D9
C	D D<D
D	DDc                     U R                   $ Nr   )r   s    r   get_allMemory.get_all4   s    yy    c                 B     U R                   U   $ ! [         a     g f = fr   )r   BaseExceptionr   keys     r   get_dataMemory.get_data;   s'    	99S>! 		s    
c                 \    U R                  U5      b  [        S5        g X R                  U'   g )Nz"data already exists with that name)r%   printr   r   r$   values      r   add_dataMemory.add_dataE   s%    ==)67"IIcNr    c                      X R                   U'   g r   r   r)   s      r   update_dataMemory.update_dataO   s    		#r    c                 @     U R                   U	 g ! [         a     g f = fr   )r   KeyErrorr#   s     r   del_dataMemory.del_dataV   s$    			# 		s    
c                     [        U R                  S5       nUR                  S5        S S S 5        g ! , (       d  f       g = f)Nr	   r   )r   r   r   r   r   s     r   del_allMemory.del_allb   s)    $..#&!GGBK '&&s	   2
A c                     [        U R                  S5       n[        R                  " U R                  U5        S S S 5        g ! , (       d  f       g = f)Nr	   )r   r   r   dumpr   r5   s     r   saveMemory.savek   s0    $..#&!IIdii# '&&s   "A
A)r   r   N)zmemory.json)__name__
__module____qualname____firstlineno____doc__r   r   r%   r+   r.   r2   r6   r:   __static_attributes__ r    r   r   r      sR    )#
$r    r   )r   r
   r   dirname__file__r   r   rB   r    r   <module>rE      s0     	( ggooh'Q$ Q$r    