
    -i7                     t    d Z ddlZddlmZ ddlZddlZ G d de          Zd Ze	dk    r e             dS dS )zCache Module for analex    N)md5c                   D    e Zd ZdZddZd Zd Zd Zd Zd Z	d	 Z
d
 ZdS )Cachez/
    cache for word morphological analysis
    Fc                    t           j                            t           j                            d          d          }i i i i dd| _        |s|}n=t           j                            t           j                            |          d          }	 t          j        t          |d          d          | _	        t          t          d|           d	S #  t          t          d|           d	| _	        Y d	S xY w)
z%
        Create Analex Cache
        ~z.qalsadiCache.pickledb)nounverbstopword)checkedWords	FreqWordswbFz Success: Open data base z Error: Can't Open data base N)ospathjoin
expandusercachedirnamepickledbloadopendbprint__file__)selfdp_pathDB_PATHs      a/var/www/html/speakWrite/venv/lib/python3.11/site-packages/qalsadi/cachemanager/cache_pickledb.py__init__zCache.__init__   s     ',,rw11#668PQQ"$bbAA
 

  	WGGgll27??7#;#;=UVVG	BmD$$7$7??DG (7AAAAA	(;WEEEDGGGGs   (C C1c                 |    d| _         t          | d          r"| j        r| j                                         dS dS dS )z2
        Delete instance and clear cache

        Nr   )r   hasattrr   dump)r   s    r   __del__zCache.__del__2   sM    
 
4 	47 	GLLNNNNN	 	 	 	    c                 b    	 t          | j                            |                    S #  Y dS xY w)z$return if ``word`` is already cachedF)boolr   get)r   words     r   is_already_checkedzCache.is_already_checked;   s3    	D))***	55s   &) .c                 L    g }| j         r| j                             |          }|S )z"return checked ``word`` form cache)r   r&   )r   r'   results      r   get_checkedzCache.get_checkedC   s+     7 	'W[[&&Fr#   c                 N    | j         r| j                             ||           dS dS )zadd checked ``word`` form cacheN)r   set)r   r'   datas      r   add_checkedzCache.add_checkedL   s2    7 	$GKKd#####	$ 	$r#   c                      || j         d         v S )z#return if word exists in freq cacher   r   )r   r'   wordtypes      r   exists_cache_freqzCache.exists_cache_freqQ   s    tz+...r#   c                 P    | j         d         |                             |d          S )z%return  ``word`` frequency form cacher   r   )r   r&   )r   originalwordr2   s      r   get_freqzCache.get_freqU   s$    z+&x044\1EEEr#   c                 2    || j         d         |         |<   dS )z.add   ``original`` frequency ``freq`` to cacher   Nr1   )r   originalr2   freqs       r   add_freqzCache.add_freqY   s    6:
;)(333r#   N)F)__name__
__module____qualname____doc__r   r"   r(   r+   r/   r3   r6   r:    r#   r   r   r      s         B B B B,      $ $ $
/ / /F F F; ; ; ; ;r#   r   c                     t          d           t          j                            t          j                            t
                    dd          } t          |           }d}d}|                    ||           |                    |          }|                    d          }t          |           t          |           dS )zmain functiontest z.qalsadiCachetahazerroukiwalidN)	r   r   r   r   r   r   r   r/   r+   )r   cacherr'   r.   d2d3s         r   mainlyrI   ^   s    	&MMM7<<112GGD4[[FDD
tT"""			D	!	!B			G	$	$B	"III	"IIIIIr#   __main__)
r>   syshashlibr   r   r   objectr   rI   r;   r?   r#   r   <module>rN      s      



       				 D; D; D; D; D;F D; D; D;N   z
FHHHHH r#   