25
25
from jupyter_core .utils import ensure_dir_exists
26
26
from jupyter_server .extension .serverextension import ArgumentConflict
27
27
28
- # from jupyterlab_server.config import get_federated_extensions
29
28
from .federated_extensions_requirements import get_federated_extensions
30
29
31
30
try :
32
31
from tomllib import load # Python 3.11+
33
32
except ImportError :
34
33
from tomli import load
35
34
35
+ from .core_path import default_core_path
36
+
36
37
# from .commands import _test_overlap TO BE DONE -----------------------------
37
38
38
39
DEPRECATED_ARGUMENT = object ()
@@ -95,7 +96,7 @@ def develop_labextension( # noqa
95
96
ensure_dir_exists (labext )
96
97
97
98
if isinstance (path , (list , tuple )):
98
- msg = "path must be a string pointing to a single extension to install; call this function multiple times to install multiple extensions"
99
+ msg = "path must be a string pointing to a single extension to install; call this function multiple times to install multiple extensions" # noqa: E501
99
100
raise TypeError (msg )
100
101
101
102
if not destination :
@@ -104,7 +105,7 @@ def develop_labextension( # noqa
104
105
full_dest = normpath (pjoin (labext , destination ))
105
106
if overwrite and os .path .lexists (full_dest ):
106
107
if logger :
107
- logger .info ("Removing: %s" % full_dest )
108
+ logger .info ("Removing: %s" , full_dest )
108
109
if os .path .isdir (full_dest ) and not os .path .islink (full_dest ):
109
110
shutil .rmtree (full_dest )
110
111
else :
@@ -124,22 +125,23 @@ def develop_labextension( # noqa
124
125
if platform .platform ().startswith ("Windows" ):
125
126
msg = (
126
127
"Symlinks can be activated on Windows 10 for Python version 3.8 or higher"
127
- " by activating the 'Developer Mode'. That may not be allowed by your administrators.\n "
128
+ " by activating the 'Developer Mode'. That may not be allowed by your administrators.\n " # noqa: E501
128
129
"See https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development"
129
130
)
130
131
raise OSError (msg ) from e
131
132
raise
132
133
133
134
elif not os .path .islink (full_dest ):
134
- raise ValueError ("%s exists and is not a symlink" % full_dest )
135
+ msg = f"{ full_dest } exists and is not a symlink"
136
+ raise ValueError (msg )
135
137
136
138
elif os .path .isdir (path ):
137
139
path = pjoin (os .path .abspath (path ), "" ) # end in path separator
138
140
for parent , _ , files in os .walk (path ):
139
141
dest_dir = pjoin (full_dest , parent [len (path ) :])
140
142
if not os .path .exists (dest_dir ):
141
143
if logger :
142
- logger .info ("Making directory: %s" % dest_dir )
144
+ logger .info ("Making directory: %s" , dest_dir )
143
145
os .makedirs (dest_dir )
144
146
for file_name in files :
145
147
src = pjoin (parent , file_name )
@@ -152,7 +154,7 @@ def develop_labextension( # noqa
152
154
return full_dest
153
155
154
156
155
- def develop_labextension_py (
157
+ def develop_labextension_py ( # noqa: PLR0913
156
158
module ,
157
159
user = False ,
158
160
sys_prefix = False ,
@@ -195,10 +197,7 @@ def develop_labextension_py(
195
197
return full_dests
196
198
197
199
198
- from .core_path import default_core_path
199
-
200
-
201
- def build_labextension (
200
+ def build_labextension ( # noqa: PLR0913
202
201
path , logger = None , development = False , static_url = None , source_map = False , core_path = None
203
202
):
204
203
"""Build a labextension in the given path"""
@@ -208,7 +207,7 @@ def build_labextension(
208
207
ext_path = str (Path (path ).resolve ())
209
208
210
209
if logger :
211
- logger .info ("Building extension in %s" % path )
210
+ logger .info ("Building extension in %s" , path )
212
211
213
212
builder = _ensure_builder (ext_path , core_path )
214
213
@@ -223,15 +222,15 @@ def build_labextension(
223
222
subprocess .check_call (arguments , cwd = ext_path ) # noqa S603
224
223
225
224
226
- def watch_labextension (
225
+ def watch_labextension ( # noqa: PLR0913
227
226
path , labextensions_path , logger = None , development = False , source_map = False , core_path = None
228
227
):
229
228
"""Watch a labextension in a given path"""
230
229
core_path = default_core_path () if core_path is None else str (Path (core_path ).resolve ())
231
230
ext_path = str (Path (path ).resolve ())
232
231
233
232
if logger :
234
- logger .info ("Building extension in %s" % path )
233
+ logger .info ("Building extension in %s" , path )
235
234
236
235
# Check to see if we need to create a symlink
237
236
federated_extensions = get_federated_extensions (labextensions_path )
@@ -274,9 +273,8 @@ def _ensure_builder(ext_path, core_path):
274
273
dep_version2 = ext_data .get ("devDependencies" , {}).get ("@jupyterlab/builder" )
275
274
dep_version2 = dep_version2 or ext_data .get ("dependencies" , {}).get ("@jupyterlab/builder" )
276
275
if dep_version2 is None :
277
- raise ValueError (
278
- "Extensions require a devDependency on @jupyterlab/builder@%s" % dep_version1
279
- )
276
+ msg = f"Extensions require a devDependency on @jupyterlab/builder@{ dep_version1 } "
277
+ raise ValueError (msg )
280
278
281
279
# if we have installed from disk (version is a path), assume we know what
282
280
# we are doing and do not check versions.
@@ -310,7 +308,7 @@ def _ensure_builder(ext_path, core_path):
310
308
# )
311
309
312
310
# if not overlap:
313
- # msg = f"Extensions require a devDependency on @jupyterlab/builder@{dep_version1}, you have a dependency on {dep_version2}"
311
+ # msg = f"Extensions require a devDependency on @jupyterlab/builder@{dep_version1}, you have a dependency on {dep_version2}" # noqa: E501
314
312
# raise ValueError(msg)
315
313
316
314
return osp .join (
@@ -339,10 +337,10 @@ def _should_copy(src, dest, logger=None):
339
337
# we add a fudge factor to work around a bug in python 2.x
340
338
# that was fixed in python 3.x: https://bugs.python.org/issue12904
341
339
if logger :
342
- logger .warning ("Out of date: %s" % dest )
340
+ logger .warning ("Out of date: %s" , dest )
343
341
return True
344
342
if logger :
345
- logger .info ("Up to date: %s" % dest )
343
+ logger .info ("Up to date: %s" , dest )
346
344
return False
347
345
348
346
@@ -388,9 +386,8 @@ def _get_labextension_dir(user=False, sys_prefix=False, prefix=None, labextensio
388
386
]
389
387
conflicting_set = [f"{ n } ={ v !r} " for n , v in conflicting if v ]
390
388
if len (conflicting_set ) > 1 :
391
- msg = "cannot specify more than one of user, sys_prefix, prefix, or labextensions_dir, but got: {}" .format (
392
- ", " .join (conflicting_set )
393
- )
389
+ conflict = ", " .join (conflicting_set )
390
+ msg = f"cannot specify more than one of user, sys_prefix, prefix, or labextensions_dir, but got: { conflict } " # noqa: E501
394
391
raise ArgumentConflict (msg )
395
392
if user :
396
393
labext = pjoin (jupyter_data_dir (), "labextensions" )
@@ -449,8 +446,8 @@ def _get_labextension_metadata(module): # noqa
449
446
if not package :
450
447
try :
451
448
package = (
452
- subprocess .check_output (
453
- [sys .executable , "setup.py" , "--name" ], # noqa S603
449
+ subprocess .check_output ( # noqa: S603
450
+ [sys .executable , "setup.py" , "--name" ],
454
451
cwd = mod_path ,
455
452
)
456
453
.decode ("utf8" )
0 commit comments