44import os
55import re
66import typing as t
7- from os . path import join as pjoin
7+ from pathlib import Path
88
99from jupyter_client .utils import ensure_async # type:ignore[attr-defined]
1010from jupyter_core .application import base_aliases
3636
3737from ._version import __version__
3838
39- HERE = os . path . dirname ( __file__ )
39+ HERE = Path ( __file__ ). parent . resolve ( )
4040
4141Flags = t .Dict [t .Union [str , t .Tuple [str , ...]], t .Tuple [t .Union [t .Dict [str , t .Any ], Config ], str ]]
4242
43- app_dir = get_app_dir ()
43+ app_dir = Path ( get_app_dir () )
4444version = __version__
4545
4646# mypy: disable-error-code="no-untyped-call"
@@ -72,7 +72,7 @@ def get_page_config(self) -> dict[str, t.Any]:
7272
7373 server_root = self .settings .get ("server_root_dir" , "" )
7474 server_root = server_root .replace (os .sep , "/" )
75- server_root = os .path .normpath (os . path . expanduser (server_root ))
75+ server_root = os .path .normpath (Path ( server_root ). expanduser ())
7676 try :
7777 # Remove the server_root from pref dir
7878 if self .serverapp .preferred_dir != server_root :
@@ -149,7 +149,7 @@ async def get(self, path: str = "") -> None:
149149
150150 tpl = self .render_template ("tree.html" , page_config = page_config )
151151 return self .write (tpl )
152- elif await ensure_async (cm .file_exists (path )):
152+ if await ensure_async (cm .file_exists (path )):
153153 # it's not a directory, we have redirecting to do
154154 model = await ensure_async (cm .get (path , content = False ))
155155 if model ["type" ] == "notebook" :
@@ -159,15 +159,15 @@ async def get(self, path: str = "") -> None:
159159 url = ujoin (self .base_url , "files" , url_escape (path ))
160160 self .log .debug ("Redirecting %s to %s" , self .request .path , url )
161161 self .redirect (url )
162- else :
163- raise web .HTTPError (404 )
162+ return None
163+ raise web .HTTPError (404 )
164164
165165
166166class ConsoleHandler (NotebookBaseHandler ):
167167 """A console page handler."""
168168
169169 @web .authenticated
170- def get (self , path : str | None = None ) -> t .Any :
170+ def get (self , path : str | None = None ) -> t .Any : # noqa: ARG002
171171 """Get the console page."""
172172 tpl = self .render_template ("consoles.html" , page_config = self .get_page_config ())
173173 return self .write (tpl )
@@ -177,7 +177,7 @@ class TerminalHandler(NotebookBaseHandler):
177177 """A terminal page handler."""
178178
179179 @web .authenticated
180- def get (self , path : str | None = None ) -> t .Any :
180+ def get (self , path : str | None = None ) -> t .Any : # noqa: ARG002
181181 """Get the terminal page."""
182182 tpl = self .render_template ("terminals.html" , page_config = self .get_page_config ())
183183 return self .write (tpl )
@@ -187,7 +187,7 @@ class FileHandler(NotebookBaseHandler):
187187 """A file page handler."""
188188
189189 @web .authenticated
190- def get (self , path : str | None = None ) -> t .Any :
190+ def get (self , path : str | None = None ) -> t .Any : # noqa: ARG002
191191 """Get the file page."""
192192 tpl = self .render_template ("edit.html" , page_config = self .get_page_config ())
193193 return self .write (tpl )
@@ -197,7 +197,7 @@ class NotebookHandler(NotebookBaseHandler):
197197 """A notebook page handler."""
198198
199199 @web .authenticated
200- def get (self , path : str | None = None ) -> t .Any :
200+ def get (self , path : str | None = None ) -> t .Any : # noqa: ARG002
201201 """Get the notebook page."""
202202 tpl = self .render_template ("notebooks.html" , page_config = self .get_page_config ())
203203 return self .write (tpl )
@@ -214,13 +214,13 @@ def get(self) -> t.Any:
214214 page_config = self .get_page_config ()
215215 custom_css_file = f"{ page_config ['jupyterConfigDir' ]} /custom/custom.css"
216216
217- if not os . path . isfile (custom_css_file ):
217+ if not Path (custom_css_file ). is_file ( ):
218218 static_path_root = re .match ("^(.*?)static" , page_config ["staticDir" ])
219219 if static_path_root is not None :
220220 custom_dir = static_path_root .groups ()[0 ]
221221 custom_css_file = f"{ custom_dir } custom/custom.css"
222222
223- with open (custom_css_file ) as css_f :
223+ with Path (custom_css_file ). open ( ) as css_f :
224224 return self .write (css_f .read ())
225225
226226
@@ -269,23 +269,23 @@ class JupyterNotebookApp(NotebookConfigShimMixin, LabServerApp): # type:ignore[
269269
270270 @default ("static_dir" )
271271 def _default_static_dir (self ) -> str :
272- return os . path . join (HERE , "static" )
272+ return str (HERE / "static" )
273273
274274 @default ("templates_dir" )
275275 def _default_templates_dir (self ) -> str :
276- return os . path . join (HERE , "templates" )
276+ return str (HERE / "templates" )
277277
278278 @default ("app_settings_dir" )
279279 def _default_app_settings_dir (self ) -> str :
280- return pjoin (app_dir , "settings" )
280+ return str (app_dir / "settings" )
281281
282282 @default ("schemas_dir" )
283283 def _default_schemas_dir (self ) -> str :
284- return pjoin (app_dir , "schemas" )
284+ return str (app_dir / "schemas" )
285285
286286 @default ("themes_dir" )
287287 def _default_themes_dir (self ) -> str :
288- return pjoin (app_dir , "themes" )
288+ return str (app_dir / "themes" )
289289
290290 @default ("user_settings_dir" )
291291 def _default_user_settings_dir (self ) -> str :
@@ -343,7 +343,7 @@ def initialize_handlers(self) -> None:
343343 self .handlers .append (("/custom/custom.css" , CustomCssHandler ))
344344 super ().initialize_handlers ()
345345
346- def initialize (self , argv : list [str ] | None = None ) -> None :
346+ def initialize (self , argv : list [str ] | None = None ) -> None : # noqa: ARG002
347347 """Subclass because the ExtensionApp.initialize() method does not take arguments"""
348348 super ().initialize ()
349349
0 commit comments