import os.path
from virtualenv.util.lock import NoOpFileLock
from .via_disk_folder import AppDataDiskFolder, PyInfoStoreDisk
class ReadOnlyAppData(AppDataDiskFolder):
can_update = False
def __init__(self, folder): # type: (str) -> None
if not os.path.isdir(folder):
raise RuntimeError("read-only app data directory {} does not exist".format(folder))
self.lock = NoOpFileLock(folder)
def reset(self): # type: () -> None
raise RuntimeError("read-only app data does not support reset")
def py_info_clear(self): # type: () -> None
raise NotImplementedError
def py_info(self, path):
return _PyInfoStoreDiskReadOnly(self.py_info_at, path)
def embed_update_log(self, distribution, for_py_version):
raise NotImplementedError
class _PyInfoStoreDiskReadOnly(PyInfoStoreDisk):
def write(self, content):
raise RuntimeError("read-only app data python info cannot be updated")
__all__ = ("ReadOnlyAppData",)
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| __init__.py | File | 1.43 KB | 0644 |
|
| base.py | File | 2.08 KB | 0644 |
|
| na.py | File | 1.28 KB | 0644 |
|
| read_only.py | File | 1006 B | 0644 |
|
| via_disk_folder.py | File | 5.49 KB | 0644 |
|
| via_tempdir.py | File | 770 B | 0644 |
|