3 Yd@sNddlmZddlZddlZddlZddljZejj Z Gdddej Z dS)) interfacesNc@sPeZdZddgZdddZddZddd Zd d Zd d ZddZ ddZ dS)PickleProvider_path_dataNcCs|dkrtj}||_i|_dS)N)constsZDEFAULT_STORAGE_FILErr)selfpathr %/usr/lib/python3.6/pickle_provider.py__init__ szPickleProvider.__init__cCs |jj|i||j||<dS)N)r setdefault)r namespaceoptionvaluer r r setszPickleProvider.setcCs |jj|i|j|j||S)N)rr get)rrrdefaultr r r rszPickleProvider.getcCs,|jj|i||j|kr(|j||=dS)N)rr )rrrr r r unsetszPickleProvider.unsetcCs~y>tjdt|jt|jd}tj|j|WdQRXWn:tt fk rx}ztj d|j|fWYdd}~XnXdS)Nz Saving %swbz"Error saving storage file '%s': %s) logdebugstrropenrpickledumpOSErrorIOErrorerror)rfer r r saves zPickleProvider.savecCsy(t|jd}tj||_WdQRXWnXttfk rh}z tjd|j|fi|_WYdd}~Xnt k ri|_YnXdS)Nrbz#Error loading storage file '%s': %s) rrrloadrrrrrEOFError)rrr r r r r#'szPickleProvider.loadcCsZ|jjytj|jWn:ttfk rT}ztjd|j|fWYdd}~XnXdS)Nz$Error removing storage file '%s': %s) rclearosunlinkrrrrr)rr r r r r%1s  zPickleProvider.clear)N)N) __name__ __module__ __qualname__ __slots__r rrrr!r#r%r r r r r s   r) rZ tuned.logsZtunedrr&Z tuned.constsrZlogsrrZProviderrr r r r s