diff env/lib/python3.7/site-packages/virtualenv/run/app_data.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/virtualenv/run/app_data.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-import logging
-import os
-from argparse import Action, ArgumentError
-from tempfile import mkdtemp
-
-from appdirs import user_data_dir
-
-from virtualenv.util.lock import ReentrantFileLock
-from virtualenv.util.path import safe_delete
-
-
-class AppData(object):
-    def __init__(self, folder):
-        self.folder = ReentrantFileLock(folder)
-        self.transient = False
-
-    def __repr__(self):
-        return "{}".format(self.folder.path)
-
-    def clean(self):
-        logging.debug("clean app data folder %s", self.folder.path)
-        safe_delete(self.folder.path)
-
-    def close(self):
-        """"""
-
-
-class TempAppData(AppData):
-    def __init__(self):
-        super(TempAppData, self).__init__(folder=mkdtemp())
-        self.transient = True
-        logging.debug("created temporary app data folder %s", self.folder.path)
-
-    def close(self):
-        logging.debug("remove temporary app data folder %s", self.folder.path)
-        safe_delete(self.folder.path)
-
-
-class AppDataAction(Action):
-    def __call__(self, parser, namespace, values, option_string=None):
-        folder = self._check_folder(values)
-        if folder is None:
-            raise ArgumentError("app data path {} is not valid".format(values))
-        setattr(namespace, self.dest, AppData(folder))
-
-    @staticmethod
-    def _check_folder(folder):
-        folder = os.path.abspath(folder)
-        if not os.path.exists(folder):
-            try:
-                os.makedirs(folder)
-                logging.debug("created app data folder %s", folder)
-            except OSError as exception:
-                logging.info("could not create app data folder %s due to %r", folder, exception)
-                return None
-        write_enabled = os.access(folder, os.W_OK)
-        if write_enabled:
-            return folder
-        logging.debug("app data folder %s has no write access", folder)
-        return None
-
-    @staticmethod
-    def default():
-        for folder in AppDataAction._app_data_candidates():
-            folder = AppDataAction._check_folder(folder)
-            if folder is not None:
-                return AppData(folder)
-        return None
-
-    @staticmethod
-    def _app_data_candidates():
-        key = str("VIRTUALENV_OVERRIDE_APP_DATA")
-        if key in os.environ:
-            yield os.environ[key]
-        else:
-            yield user_data_dir(appname="virtualenv", appauthor="pypa")
-
-
-__all__ = (
-    "AppData",
-    "TempAppData",
-    "AppDataAction",
-)