
    0WRi                     F    d dl Z d dlmZ d dlmZ d dlmZ  G d de      Zy)    N)Any)ImproperlyConfigured)BaseSerializerc                   H     e Zd Zd fdZddZdedefdZdedefdZ xZ	S )PickleSerializerreturnc                 r    t         j                  | _        | j                  |       t        |   |       y )N)options)pickleDEFAULT_PROTOCOL_pickle_versionsetup_pickle_versionsuper__init__)selfr
   	__class__s     }/var/www/html/navyabakers_fullstack/navyabakers_prod/venv_new/lib/python3.12/site-packages/django_redis/serializers/pickle.pyr   zPickleSerializer.__init__
   s/    %66!!'*)    c                     d|v rP	 t        |d         | _        | j                  t        j                  kD  rdt        j                   }t	        |      y y # t
        t        f$ r}d}t	        |      |d }~ww xY w)NPICKLE_VERSIONz=PICKLE_VERSION can't be higher than pickle.HIGHEST_PROTOCOL: z'PICKLE_VERSION value must be an integer)intr   r   HIGHEST_PROTOCOLr   
ValueError	TypeError)r   r
   error_messagees       r   r   z%PickleSerializer.setup_pickle_version   s    w&
A'*73C+D'E$''&*A*AA"3346 " /}== B ' 	* A I*=9q@As   AA A8%A33A8valuec                 B    t        j                  || j                        S N)r   dumpsr   r   r   s     r   r    zPickleSerializer.dumps   s    ||E4#7#788r   c                 ,    t        j                  |      S r   )r   loadsr!   s     r   r#   zPickleSerializer.loads!   s    ||E""r   )r   N)
__name__
__module____qualname__r   r   r   bytesr    r#   __classcell__)r   s   @r   r   r   	   s4    *A93 95 9#5 #S #r   r   )r   typingr   django.core.exceptionsr   django_redis.serializers.baser   r    r   r   <module>r-      s      7 8#~ #r   