@@ -95,27 +95,20 @@ class method. This method can be set as a entry_point in
95
95
96
96
# Name of the extension
97
97
extension_name = Unicode (
98
- "" ,
99
98
help = "Name of extension."
100
99
)
101
100
102
- @default ("extension_name" )
103
- def _default_extension_name (self ):
101
+ def _extension_name_default (self ):
104
102
try :
105
103
return self .name
106
104
except AttributeError :
107
105
raise ValueError ("The extension must be given a `name`." )
108
106
109
107
INVALID_EXTENSION_NAME_CHARS = [' ' , '.' , '+' , '/' ]
110
108
111
- def _config_file_name_default (self ):
112
- """The default config file name."""
113
- if not self .name :
114
- return ''
115
- return 'jupyter_{}_config' .format (self .extension_name .replace ('-' ,'_' ))
116
-
117
- def _validate_extension_name (self ):
118
- value = self .extension_name
109
+ @validate ('extension_name' )
110
+ def _validate_extension_name (self , value ):
111
+ #value = self.extension_name
119
112
if isinstance (value , str ):
120
113
# Validate that extension_name doesn't contain any invalid characters.
121
114
for c in ExtensionApp .INVALID_EXTENSION_NAME_CHARS :
@@ -163,6 +156,22 @@ def static_url_prefix(self):
163
156
help = _ ("""Handlers appended to the server.""" )
164
157
).tag (config = True )
165
158
159
+ def _config_dir_default (self ):
160
+ """Point the config directory at the server's config_dir by default."""
161
+ try :
162
+ return self .serverapp .config_dir
163
+ except AttributeError :
164
+ raise AttributeError (
165
+ "The ExtensionApp has not ServerApp "
166
+ "initialized. Try `.initialize_server()`."
167
+ )
168
+
169
+ def _config_file_name_default (self ):
170
+ """The default config file name."""
171
+ if not self .extension_name :
172
+ return ''
173
+ return 'jupyter_{}_config' .format (self .extension_name .replace ('-' ,'_' ))
174
+
166
175
default_url = Unicode ('/' , config = True ,
167
176
help = _ ("The default URL to redirect to from `/`" )
168
177
)
@@ -217,7 +226,7 @@ def _prepare_config(self):
217
226
"""
218
227
traits = self .class_own_traits ().keys ()
219
228
self .extension_config = Config ({t : getattr (self , t ) for t in traits })
220
- self .serverapp . web_app . settings ['{}_config' .format (self .extension_name )] = self .extension_config
229
+ self .settings ['{}_config' .format (self .extension_name )] = self .extension_config
221
230
222
231
def _prepare_settings (self ):
223
232
# Make webapp settings accessible to initialize_settings method
@@ -304,10 +313,11 @@ def initialize(self, serverapp, argv=[]):
304
313
- Passes settings to webapp
305
314
- Appends handlers to webapp.
306
315
"""
307
- self ._validate_extension_name ()
316
+ # Initialize ServerApp.
317
+ self .serverapp = serverapp
318
+
308
319
# Initialize the extension application
309
320
super (ExtensionApp , self ).initialize (argv = argv )
310
- self .serverapp = serverapp
311
321
312
322
# Initialize config, settings, templates, and handlers.
313
323
self ._prepare_config ()
0 commit comments