<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
<e                 @   sN   d dl mZ ddlZddlZddlZddljZejj	 Z
G dd dejZdS )   )
interfaces    Nc               @   sP   e Zd ZddgZdddZdd Zddd	Zd
d Zdd Zdd Z	dd Z
dS )PickleProvider_path_dataNc             C   s   |d krt j}|| _i | _d S )N)constsZDEFAULT_STORAGE_FILEr   r   )selfpath r
   %/usr/lib/python3.6/pickle_provider.py__init__   s    zPickleProvider.__init__c             C   s    | j j|i  || j | |< d S )N)r   
setdefault)r   	namespaceoptionvaluer
   r
   r   set   s    zPickleProvider.setc             C   s    | j j|i  | j | j||S )N)r   r   get)r   r   r   defaultr
   r
   r   r      s    zPickleProvider.getc             C   s,   | j j|i  || j | kr(| j | |= d S )N)r   r   )r   r   r   r
   r
   r   unset   s    zPickleProvider.unsetc             C   s~   y>t jdt| j  t| jd}tj| j| W d Q R X W n: tt	fk
rx } zt j
d| j|f  W Y d d }~X nX d S )Nz	Saving %swbz"Error saving storage file '%s': %s)logdebugstrr   openr   pickledumpOSErrorIOErrorerror)r   fer
   r
   r   save   s    zPickleProvider.savec             C   s   y(t | jd}tj|| _W d Q R X W nX ttfk
rh } z tjd| j|f  i | _W Y d d }~X n t	k
r   i | _Y nX d S )Nrbz#Error loading storage file '%s': %s)
r   r   r   loadr   r   r   r   r   EOFError)r   r   r    r
   r
   r   r#   '   s    zPickleProvider.loadc             C   sZ   | j j  ytj| j W n: ttfk
rT } ztjd| j|f  W Y d d }~X nX d S )Nz$Error removing storage file '%s': %s)	r   clearosunlinkr   r   r   r   r   )r   r    r
   r
   r   r%   1   s
    
zPickleProvider.clear)N)N)__name__
__module____qualname__	__slots__r   r   r   r   r!   r#   r%   r
   r
   r
   r   r   	   s   


r   ) r   Z
tuned.logsZtunedr   r&   Ztuned.constsr   Zlogsr   r   ZProviderr   r
   r
   r
   r   <module>   s   

