Skip to content

Commit 1fa495f

Browse files
committed
added custom config dir argument
1 parent 575dcc4 commit 1fa495f

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

src/jupyter_contrib_core/notebook_compat/_compat/nbextensions.py

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,8 @@ def install_nbextension_python(module, overwrite=False, symlink=False,
187187

188188

189189
def uninstall_nbextension(dest, require=None, user=False, sys_prefix=False,
190-
prefix=None, nbextensions_dir=None, logger=None):
190+
prefix=None, nbextensions_dir=None, logger=None,
191+
config_dir=None):
191192
"""Uninstall a Javascript extension of the notebook."""
192193
nbext = _get_nbextension_dir(user=user, sys_prefix=sys_prefix,
193194
prefix=prefix,
@@ -204,17 +205,17 @@ def uninstall_nbextension(dest, require=None, user=False, sys_prefix=False,
204205

205206
# Look through all of the config sections making sure that the nbextension
206207
# doesn't exist.
207-
config_dir = os.path.join(
208-
_get_config_dir(user=user, sys_prefix=sys_prefix), 'nbconfig')
209-
cm = BaseJSONConfigManager(config_dir=config_dir)
208+
if not config_dir:
209+
config_dir = _get_config_dir(user=user, sys_prefix=sys_prefix),
210+
cm = BaseJSONConfigManager(config_dir=os.path.join(config_dir, 'nbconfig'))
210211
if require:
211212
for section in NBCONFIG_SECTIONS:
212213
cm.update(section, {"load_extensions": {require: None}})
213214

214215

215216
def uninstall_nbextension_python(module, user=False, sys_prefix=False,
216217
prefix=None, nbextensions_dir=None,
217-
logger=None):
218+
logger=None, config_dir=None):
218219
"""Uninstall an nbextension bundled in a Python package."""
219220
m, nbexts = _get_nbextension_metadata(module)
220221
for nbext in nbexts:
@@ -224,16 +225,16 @@ def uninstall_nbextension_python(module, user=False, sys_prefix=False,
224225
logger.info("Uninstalling {} {}".format(dest, require))
225226
uninstall_nbextension(dest, require, user=user, sys_prefix=sys_prefix,
226227
prefix=prefix, nbextensions_dir=nbextensions_dir,
227-
logger=logger)
228+
logger=logger, config_dir=config_dir)
228229

229230

230231
def _set_nbextension_state(section, require, state,
231-
user=True, sys_prefix=False, logger=None):
232+
user=True, sys_prefix=False, logger=None, config_dir=None):
232233
"""Set whether the section's frontend should require the nbextension."""
233234
user = False if sys_prefix else user
234-
config_dir = os.path.join(
235-
_get_config_dir(user=user, sys_prefix=sys_prefix), 'nbconfig')
236-
cm = BaseJSONConfigManager(config_dir=config_dir)
235+
if not config_dir:
236+
config_dir = _get_config_dir(user=user, sys_prefix=sys_prefix)
237+
cm = BaseJSONConfigManager(config_dir=os.path.join(config_dir, 'nbconfig'))
237238
if logger:
238239
logger.info("{} {} extension {}...".format(
239240
"Enabling" if state else "Disabling",
@@ -248,47 +249,47 @@ def _set_nbextension_state(section, require, state,
248249

249250

250251
def _set_nbextension_state_python(state, module, user, sys_prefix,
251-
logger=None):
252+
logger=None, config_dir=None):
252253
"""Enable or disable some nbextensions stored in a Python package."""
253254
m, nbexts = _get_nbextension_metadata(module)
254255
return [_set_nbextension_state(section=nbext["section"],
255256
require=nbext["require"],
256257
state=state,
257258
user=user, sys_prefix=sys_prefix,
258-
logger=logger)
259+
logger=logger, config_dir=config_dir)
259260
for nbext in nbexts]
260261

261262

262263
def enable_nbextension(section, require, user=True, sys_prefix=False,
263-
logger=None):
264+
logger=None, config_dir=None):
264265
"""Enable a named nbextension."""
265266
return _set_nbextension_state(section=section, require=require,
266267
state=True,
267268
user=user, sys_prefix=sys_prefix,
268-
logger=logger)
269+
logger=logger, config_dir=config_dir)
269270

270271

271272
def disable_nbextension(section, require, user=True, sys_prefix=False,
272-
logger=None):
273+
logger=None, config_dir=None):
273274
"""Disable a named nbextension."""
274275
return _set_nbextension_state(section=section, require=require,
275276
state=False,
276277
user=user, sys_prefix=sys_prefix,
277-
logger=logger)
278+
logger=logger, config_dir=config_dir)
278279

279280

280281
def enable_nbextension_python(module, user=True, sys_prefix=False,
281-
logger=None):
282+
logger=None, config_dir=None):
282283
"""Enable some nbextensions associated with a Python module."""
283284
return _set_nbextension_state_python(True, module, user, sys_prefix,
284-
logger=logger)
285+
logger=logger, config_dir=config_dir)
285286

286287

287288
def disable_nbextension_python(module, user=True, sys_prefix=False,
288-
logger=None):
289+
logger=None, config_dir=None):
289290
"""Disable some nbextensions associated with a Python module."""
290291
return _set_nbextension_state_python(False, module, user, sys_prefix,
291-
logger=logger)
292+
logger=logger, config_dir=config_dir)
292293

293294

294295
def validate_nbextension(require, logger=None):

0 commit comments

Comments
 (0)