Show More
@@ -14,7 +14,7 b' import datetime' | |||||
14 | from IPython.config.configurable import LoggingConfigurable |
|
14 | from IPython.config.configurable import LoggingConfigurable | |
15 | from IPython.config import Config |
|
15 | from IPython.config import Config | |
16 | from IPython import nbformat |
|
16 | from IPython import nbformat | |
17 |
from IPython.utils.traitlets import MetaHasTraits, |
|
17 | from IPython.utils.traitlets import MetaHasTraits, TraitType, List, TraitError | |
18 | from IPython.utils.importstring import import_item |
|
18 | from IPython.utils.importstring import import_item | |
19 | from IPython.utils import text, py3compat |
|
19 | from IPython.utils import text, py3compat | |
20 |
|
20 | |||
@@ -24,6 +24,27 b' class ResourcesDict(collections.defaultdict):' | |||||
24 | return '' |
|
24 | return '' | |
25 |
|
25 | |||
26 |
|
26 | |||
|
27 | class Extension(TraitType): | |||
|
28 | """A trait for filename extensions.""" | |||
|
29 | ||||
|
30 | default_value = u'' | |||
|
31 | info_text = 'a filename extension, beginning with a dot' | |||
|
32 | ||||
|
33 | def validate(self, obj, value): | |||
|
34 | if isinstance(value, bytes): | |||
|
35 | try: | |||
|
36 | value = value.decode('ascii', 'strict') | |||
|
37 | except UnicodeDecodeError: | |||
|
38 | msg = "Could not decode {!r} for extension trait '{}'." | |||
|
39 | raise TraitError(msg.format(value, self.name)) | |||
|
40 | ||||
|
41 | if not value.startswith('.'): | |||
|
42 | msg = "Extension trait '{}' does not begin with a dot: {!r}" | |||
|
43 | raise TraitError(msg.format(self.name, value)) | |||
|
44 | ||||
|
45 | return value | |||
|
46 | ||||
|
47 | ||||
27 | class Exporter(LoggingConfigurable): |
|
48 | class Exporter(LoggingConfigurable): | |
28 | """ |
|
49 | """ | |
29 | Class containing methods that sequentially run a list of preprocessors on a |
|
50 | Class containing methods that sequentially run a list of preprocessors on a | |
@@ -31,7 +52,7 b' class Exporter(LoggingConfigurable):' | |||||
31 | accompanying resources dict. |
|
52 | accompanying resources dict. | |
32 | """ |
|
53 | """ | |
33 |
|
54 | |||
34 |
file_extension = |
|
55 | file_extension = Extension( | |
35 | '.txt', config=True, |
|
56 | '.txt', config=True, | |
36 | help="Extension of the file that should be written to disk" |
|
57 | help="Extension of the file that should be written to disk" | |
37 | ) |
|
58 | ) |
General Comments 0
You need to be logged in to leave comments.
Login now