dotfiles/vscode/.vscode/extensions/ms-toolsai.jupyter-2024.5.0-darwin-arm64/pythonFiles/printJupyWidgetEntryPoints.py
Errol Sancaktar 5f8db31398 alacritty
2024-07-15 17:06:13 -06:00

222 lines
7.1 KiB
Python

# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
# Source borrowed from site-packages/jupyter_core/paths.py
# ingore flake8 undefined variable errors since it doesn't like these temporary imports
# flake8: noqa: F821
def __vsc_print_nbextension_widgets():
import os as __vscode_os
import site as __vscode_site
import sys as __vscode_sys
import tempfile as __vscode_tempfile
from pathlib import Path as __vscode_Path
pjoin = __vscode_os.path.join
def envset(name):
"""Return True if the given environment variable is set
An environment variable is considered set if it is assigned to a value
other than 'no', 'n', 'false', 'off', '0', or '0.0' (case insensitive)
"""
return __vscode_os.environ.get(name, "no").lower() not in [
"no",
"n",
"false",
"off",
"0",
"0.0",
]
def get_home_dir():
"""Get the real path of the home directory"""
homedir = __vscode_os.path.expanduser("~")
# Next line will make things work even when /home/ is a symlink to
# /usr/home as it is on FreeBSD, for example
homedir = str(__vscode_Path(homedir).resolve())
return homedir
_dtemps: dict = {}
def _mkdtemp_once(name):
"""Make or reuse a temporary directory.
If this is called with the same name in the same process, it will return
the same directory.
"""
try:
return _dtemps[name]
except KeyError:
d = _dtemps[name] = __vscode_tempfile.mkdtemp(prefix=name + "-")
return d
def jupyter_config_dir():
"""Get the Jupyter config directory for this platform and user.
Returns JUPYTER_CONFIG_DIR if defined, else ~/.jupyter
"""
env = __vscode_os.environ
if env.get("JUPYTER_NO_CONFIG"):
return _mkdtemp_once("jupyter-clean-cfg")
if env.get("JUPYTER_CONFIG_DIR"):
return env["JUPYTER_CONFIG_DIR"]
home_dir = get_home_dir()
return pjoin(home_dir, ".jupyter")
def jupyter_data_dir():
"""Get the config directory for Jupyter data files for this platform and user.
These are non-transient, non-configuration files.
Returns JUPYTER_DATA_DIR if defined, else a platform-appropriate path.
"""
env = __vscode_os.environ
if env.get("JUPYTER_DATA_DIR"):
return env["JUPYTER_DATA_DIR"]
home = get_home_dir()
if __vscode_sys.platform == "darwin":
return __vscode_os.path.join(home, "Library", "Jupyter")
elif __vscode_os.name == "nt":
appdata = __vscode_os.environ.get("APPDATA", None)
if appdata:
return str(__vscode_Path(appdata, "jupyter").resolve())
else:
return pjoin(jupyter_config_dir(), "data")
else:
# Linux, non-OS X Unix, AIX, etc.
xdg = env.get("XDG_DATA_HOME", None)
if not xdg:
xdg = pjoin(home, ".local", "share")
return pjoin(xdg, "jupyter")
if __vscode_os.name == "nt":
programdata = __vscode_os.environ.get("PROGRAMDATA", None)
if programdata:
SYSTEM_JUPYTER_PATH = [pjoin(programdata, "jupyter")]
else: # PROGRAMDATA is not defined by default on XP.
SYSTEM_JUPYTER_PATH = [
__vscode_os.path.join(__vscode_sys.prefix, "share", "jupyter")
]
else:
SYSTEM_JUPYTER_PATH = [
"/usr/local/share/jupyter",
"/usr/share/jupyter",
]
ENV_JUPYTER_PATH = [__vscode_os.path.join(__vscode_sys.prefix, "share", "jupyter")]
def jupyter_path(*subdirs):
"""Return a list of directories to search for data files
JUPYTER_PATH environment variable has highest priority.
If the JUPYTER_PREFER_ENV_PATH environment variable is set, the environment-level
directories will have priority over user-level directories.
If the Python __vscode_site.ENABLE_USER_SITE variable is True, we also add the
appropriate Python user site subdirectory to the user-level directories.
If ``*subdirs`` are given, that subdirectory will be added to each element.
Examples:
>>> jupyter_path()
['~/.local/jupyter', '/usr/local/share/jupyter']
>>> jupyter_path('kernels')
['~/.local/jupyter/kernels', '/usr/local/share/jupyter/kernels']
"""
paths: list = []
# highest priority is explicit environment variable
if __vscode_os.environ.get("JUPYTER_PATH"):
paths.extend(
p.rstrip(__vscode_os.sep)
for p in __vscode_os.environ["JUPYTER_PATH"].split(__vscode_os.pathsep)
)
# Next is environment or user, depending on the JUPYTER_PREFER_ENV_PATH flag
user = [jupyter_data_dir()]
if __vscode_site.ENABLE_USER_SITE:
# Check if __vscode_site.getuserbase() exists to be compatible with virtualenv,
# which often does not have this method.
if hasattr(__vscode_site, "getuserbase"):
userbase = __vscode_site.getuserbase()
else:
userbase = __vscode_site.USER_BASE
if userbase:
userdir = __vscode_os.path.join(userbase, "share", "jupyter")
if userdir not in user:
user.append(userdir)
env = [p for p in ENV_JUPYTER_PATH if p not in SYSTEM_JUPYTER_PATH]
if envset("JUPYTER_PREFER_ENV_PATH"):
paths.extend(env)
paths.extend(user)
else:
paths.extend(user)
paths.extend(env)
# finally, system
paths.extend(SYSTEM_JUPYTER_PATH)
# add subdir, if requested
if subdirs:
paths = [pjoin(p, *subdirs) for p in paths]
return paths
__vsc_nbextension_widgets = []
__vsc_file = ""
__vsc_nbextension_Folder = ""
__vscode_widget_folder = ""
import glob as _VSCODE_glob
try:
for __vsc_nbextension_Folder in jupyter_path("nbextensions"):
for __vsc_file in _VSCODE_glob.glob(
__vsc_nbextension_Folder
+ __vscode_os.path.sep
+ "*"
+ __vscode_os.path.sep
+ "extension.js"
):
__vscode_widget_folder = __vsc_file.replace(
__vsc_nbextension_Folder, ""
)
if __vscode_widget_folder not in __vsc_nbextension_widgets:
__vsc_nbextension_widgets.append(__vscode_widget_folder)
print(__vsc_nbextension_widgets)
except Exception:
pass
# We need to ensure these variables don't interfere with the variable viewer, hence delete them after use.
del _VSCODE_glob
del __vsc_file
del __vsc_nbextension_Folder
del __vscode_widget_folder
del __vsc_nbextension_widgets
del __vscode_os
del __vscode_site
del __vscode_sys
del __vscode_tempfile
del __vscode_Path
__vsc_print_nbextension_widgets()
del __vsc_print_nbextension_widgets