3 \meA @ s d dl Z d dlZd dlZd dlmZmZmZ d dlmZ d dl m Z d dl mZmZm Z d dlmZmZmZmZ ejeZG dd deZG d d d ZG dd dZG d d dZdd ZG dd dZG dd dZG dd dZG dd dZG dd dej Z!G dd deZ"dS ) N) NoOptionErrorNoSectionErrorRawConfigParser)StringIO)time)persistence type_utilsutil)CFG_ENV_NAME PER_ALWAYSPER_INSTANCEPER_ONCEc @ s e Zd ZdS )LockFailureN)__name__ __module____qualname__ r r /usr/lib/python3.6/helpers.pyr s r c @ s e Zd ZdS ) DummyLockN)r r r r r r r r s r c @ s4 e Zd Zdd ZejdddZdd Zdd Zd S )DummySemaphoresc C s d S )Nr )selfr r r __init__! s zDummySemaphores.__init__Fc c s t V d S )N)r )r _name_freqZ_clear_on_failr r r lock$ s zDummySemaphores.lockc C s dS )NFr )r r r r r r has_run( s zDummySemaphores.has_runc C s dS )NTr )r r r r r r clear+ s zDummySemaphores.clearN)F) r r r r contextlibcontextmanagerr r r r r r r r s r c @ s e Zd Zdd Zdd ZdS )FileLockc C s || _ d S )N)fn)r r r r r r 0 s zFileLock.__init__c C s dt j| | jf S )Nz<%s using file %r>)r Zobj_namer )r r r r __str__3 s zFileLock.__str__N)r r r r r! r r r r r / s r c C s | j ddS )N-_)replace)namer r r canon_sem_name7 s r&