@@ -1641,22 +1641,11 @@ def _normalize_dir(self, value):
1641
1641
value = os .path .abspath (value )
1642
1642
return value
1643
1643
1644
- # Because the validation of preferred_dir depends on root_dir and validation
1645
- # occurs when the trait is loaded, there are times when we should defer the
1646
- # validation of preferred_dir (e.g., when preferred_dir is defined via CLI
1647
- # and root_dir is defined via a config file).
1648
- _defer_preferred_dir_validation = False
1649
-
1650
1644
@validate ("root_dir" )
1651
1645
def _root_dir_validate (self , proposal ):
1652
1646
value = self ._normalize_dir (proposal ["value" ])
1653
1647
if not os .path .isdir (value ):
1654
1648
raise TraitError (trans .gettext ("No such directory: '%r'" ) % value )
1655
-
1656
- if self ._defer_preferred_dir_validation :
1657
- # If we're here, then preferred_dir is configured on the CLI and
1658
- # root_dir is configured in a file
1659
- self ._preferred_dir_validation (self .preferred_dir , value )
1660
1649
return value
1661
1650
1662
1651
preferred_dir = Unicode (
@@ -1673,39 +1662,8 @@ def _preferred_dir_validate(self, proposal):
1673
1662
value = self ._normalize_dir (proposal ["value" ])
1674
1663
if not os .path .isdir (value ):
1675
1664
raise TraitError (trans .gettext ("No such preferred dir: '%r'" ) % value )
1676
-
1677
- # Before we validate against root_dir, check if this trait is defined on the CLI
1678
- # and root_dir is not. If that's the case, we'll defer it's further validation
1679
- # until root_dir is validated or the server is starting (the latter occurs when
1680
- # the default root_dir (cwd) is used).
1681
- cli_config = self .cli_config .get ("ServerApp" , {})
1682
- if "preferred_dir" in cli_config and "root_dir" not in cli_config :
1683
- self ._defer_preferred_dir_validation = True
1684
-
1685
- if not self ._defer_preferred_dir_validation : # Validate now
1686
- self ._preferred_dir_validation (value , self .root_dir )
1687
1665
return value
1688
1666
1689
- def _preferred_dir_validation (self , preferred_dir : str , root_dir : str ) -> None :
1690
- """Validate preferred dir relative to root_dir - preferred_dir must be equal or a subdir of root_dir"""
1691
- if not preferred_dir .startswith (root_dir ):
1692
- raise TraitError (
1693
- trans .gettext (
1694
- "preferred_dir must be equal or a subdir of root_dir. preferred_dir: '%r' root_dir: '%r'"
1695
- )
1696
- % (preferred_dir , root_dir )
1697
- )
1698
- self ._defer_preferred_dir_validation = False
1699
-
1700
- @observe ("root_dir" )
1701
- def _root_dir_changed (self , change ):
1702
- self ._root_dir_set = True
1703
- if not self .preferred_dir .startswith (change ["new" ]):
1704
- self .log .warning (
1705
- trans .gettext ("Value of preferred_dir updated to use value of root_dir" )
1706
- )
1707
- self .preferred_dir = change ["new" ]
1708
-
1709
1667
@observe ("server_extensions" )
1710
1668
def _update_server_extensions (self , change ):
1711
1669
self .log .warning (_i18n ("server_extensions is deprecated, use jpserver_extensions" ))
@@ -1887,6 +1845,9 @@ def init_configurables(self):
1887
1845
parent = self ,
1888
1846
log = self .log ,
1889
1847
)
1848
+ # Trigger a default/validation here explicitly while we still support the
1849
+ # deprecated trait on ServerApp (FIXME remove when deprecation finalized)
1850
+ self .contents_manager .preferred_dir
1890
1851
self .session_manager = self .session_manager_class (
1891
1852
parent = self ,
1892
1853
log = self .log ,
@@ -2086,7 +2047,7 @@ def init_resources(self):
2086
2047
)
2087
2048
return
2088
2049
2089
- old_soft , old_hard = resource .getrlimit (resource .RLIMIT_NOFILE )
2050
+ old_soft , old_hard = resource .getrlimit (resource .RLIMIT_NOFILE ) # noqa
2090
2051
soft = self .min_open_files_limit
2091
2052
hard = old_hard
2092
2053
if old_soft < soft :
@@ -2097,7 +2058,7 @@ def init_resources(self):
2097
2058
old_soft , soft , old_hard , hard
2098
2059
)
2099
2060
)
2100
- resource .setrlimit (resource .RLIMIT_NOFILE , (soft , hard ))
2061
+ resource .setrlimit (resource .RLIMIT_NOFILE , (soft , hard )) # noqa
2101
2062
2102
2063
def _get_urlparts (self , path = None , include_token = False ):
2103
2064
"""Constructs a urllib named tuple, ParseResult,
@@ -2505,10 +2466,6 @@ def initialize(
2505
2466
# Parse command line, load ServerApp config files,
2506
2467
# and update ServerApp config.
2507
2468
super ().initialize (argv = argv )
2508
- if self ._defer_preferred_dir_validation :
2509
- # If we're here, then preferred_dir is configured on the CLI and
2510
- # root_dir has the default value (cwd)
2511
- self ._preferred_dir_validation (self .preferred_dir , self .root_dir )
2512
2469
if self ._dispatching :
2513
2470
return
2514
2471
# initialize io loop as early as possible,
0 commit comments