
    g                     J    d dl Z d dlZd dlmZ  G d dej                        Zy)    N)modelsc                        e Zd Z ej                  dd      Z ej                  ddd      Zed        Zej                  d        Z fd	Z
d
 Z xZS )Keyd    )
max_lengthdefaulti  lockbox_key)r   	db_columnr	   c                     | j                   sy	 t        j                  | j                   j                               }|j	                         S # t
        $ r Y yw xY w)zReturn decoded key.r   zInvalid Key)_lockbox_keybase64	b64decodeencodedecode	Exception)selfdecoded_bytess     */var/www/skyplay_api_hub/lockbox/models.pyr
   zKey.lockbox_key
   sU       	!",,T->->-E-E-GHM '')) 	! 	!s   <A 	AAc                 z    |r9t        j                  |j                               }|j                         | _        yy)zEncode and set key.N)r   	b64encoder   r   r   )r   valueencoded_bytess      r   r
   zKey.lockbox_key   s3     ",,U\\^<M - 4 4 6D     c                     	 t        j                  | j                  j                               j	                         }t        |    |i | y # t
        $ r | j                  | _        Y ,w xY wN)	r   r   r   r   r   r   r
   supersave)r   argskwargsdecoded	__class__s       r   r   zKey.save   sb    	1&&t'8'8'?'?'ABIIKG 	d%f%  	1#00D	1s   ;A A+*A+c                     | j                    S r   )code)r   s    r   __str__zKey.__str__%   s    ))r   )__name__
__module____qualname__r   	CharFieldr$   r   propertyr
   setterr   r%   __classcell__)r"   s   @r   r   r      sd    6sB7D#6##t}VXYL! ! 7 7&r   r   )osr   	django.dbr   Modelr    r   r   <module>r1      s    	   &,,  r   