a :i@s\dZddlmZmZddlmZddlmZGdddedZGdd d edZ d dgZ d S) z( Application data stored by virtualenv. )ABCMetaabstractmethod)contextmanager) IS_ZIPAPPc@seZdZdZeddZeddZeddZedd Ze d d Z ed d Z e ddZ e ddZ eddZedddZeeddZeeddZdS)AppDataz9Abstract storage interface for the virtualenv applicationcCsdS)zcalled before virtualenv exitsNselfrr1s,0Yn|VdS)zHSome paths might be within the zipapp, unzip these to a path on the diskN)rextract)r r to_folderresultrrr ensure_extracted2s&zAppData.ensure_extractedcCstdSr r)r rrrrr r;szAppData.extractcCstdSr rrrrr locked@szAppData.locked)N)__name__ __module__ __qualname____doc__rr r rrpropertyrrrrrrrrrrrrr r s6           r) metaclassc@sLeZdZeddZeddZeddZeddZeed d Z d S) ContentStorecCstdSr rrrrr existsGszContentStore.existscCstdSr rrrrr readKszContentStore.readcCstdSr r)r Zcontentrrr writeOszContentStore.writecCstdSr rrrrr removeSszContentStore.removecCsdSr rrrrr rWszContentStore.lockedN) r r!r"rr'r(r)r*rrrrrr r&Fs    r&N) r#abcrr contextlibrZvirtualenv.inforrr&__all__rrrr s  ;