Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/docutils/__init__.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author | shellac |
---|---|
date | Mon, 01 Jun 2020 08:59:25 -0400 |
parents | 79f47841a781 |
children |
comparison
equal
deleted
inserted
replaced
4:79f47841a781 | 5:9b1c78e6ba9c |
---|---|
1 # $Id: __init__.py 8453 2020-01-12 13:28:32Z grubert $ | |
2 # Author: David Goodger <goodger@python.org> | |
3 # Copyright: This module has been placed in the public domain. | |
4 | |
5 """ | |
6 This is the Docutils (Python Documentation Utilities) package. | |
7 | |
8 Package Structure | |
9 ================= | |
10 | |
11 Modules: | |
12 | |
13 - __init__.py: Contains component base classes, exception classes, and | |
14 Docutils version information. | |
15 | |
16 - core.py: Contains the ``Publisher`` class and ``publish_*()`` convenience | |
17 functions. | |
18 | |
19 - frontend.py: Runtime settings (command-line interface, configuration files) | |
20 processing, for Docutils front-ends. | |
21 | |
22 - io.py: Provides a uniform API for low-level input and output. | |
23 | |
24 - nodes.py: Docutils document tree (doctree) node class library. | |
25 | |
26 - statemachine.py: A finite state machine specialized for | |
27 regular-expression-based text filters. | |
28 | |
29 Subpackages: | |
30 | |
31 - languages: Language-specific mappings of terms. | |
32 | |
33 - parsers: Syntax-specific input parser modules or packages. | |
34 | |
35 - readers: Context-specific input handlers which understand the data | |
36 source and manage a parser. | |
37 | |
38 - transforms: Modules used by readers and writers to modify DPS | |
39 doctrees. | |
40 | |
41 - utils: Contains the ``Reporter`` system warning class and miscellaneous | |
42 utilities used by readers, writers, and transforms. | |
43 | |
44 utils/urischemes.py: Contains a complete mapping of known URI addressing | |
45 scheme names to descriptions. | |
46 | |
47 - utils/math: Contains functions for conversion of mathematical notation | |
48 between different formats (LaTeX, MathML, text, ...). | |
49 | |
50 - writers: Format-specific output translators. | |
51 """ | |
52 | |
53 import sys | |
54 from collections import namedtuple | |
55 | |
56 | |
57 __docformat__ = 'reStructuredText' | |
58 | |
59 __version__ = '0.16' | |
60 """Docutils version identifier (complies with PEP 440):: | |
61 | |
62 major.minor[.micro][releaselevel[serial]][.dev] | |
63 | |
64 For version comparison operations, use `__version_info__` (see, below) | |
65 rather than parsing the text of `__version__`. | |
66 | |
67 See 'Version Numbering' in docs/dev/policies.txt. | |
68 """ | |
69 | |
70 VersionInfo = namedtuple( | |
71 'VersionInfo', 'major minor micro releaselevel serial release') | |
72 | |
73 __version_info__ = VersionInfo( | |
74 major=0, | |
75 minor=16, | |
76 micro=0, | |
77 releaselevel='final', # one of 'alpha', 'beta', 'candidate', 'final' | |
78 # pre-release serial number (0 for final releases and active development): | |
79 serial=0, | |
80 release=True # True for official releases and pre-releases | |
81 ) | |
82 """Comprehensive version information tuple. See 'Version Numbering' in | |
83 docs/dev/policies.txt.""" | |
84 | |
85 __version_details__ = 'release' | |
86 """Optional extra version details (e.g. 'snapshot 2005-05-29, r3410'). | |
87 (For development and release status see `__version_info__`.) | |
88 """ | |
89 | |
90 | |
91 class ApplicationError(Exception): pass | |
92 | |
93 class DataError(ApplicationError): pass | |
94 | |
95 | |
96 class SettingsSpec(object): | |
97 | |
98 """ | |
99 Runtime setting specification base class. | |
100 | |
101 SettingsSpec subclass objects used by `docutils.frontend.OptionParser`. | |
102 """ | |
103 | |
104 settings_spec = () | |
105 """Runtime settings specification. Override in subclasses. | |
106 | |
107 Defines runtime settings and associated command-line options, as used by | |
108 `docutils.frontend.OptionParser`. This is a tuple of: | |
109 | |
110 - Option group title (string or `None` which implies no group, just a list | |
111 of single options). | |
112 | |
113 - Description (string or `None`). | |
114 | |
115 - A sequence of option tuples. Each consists of: | |
116 | |
117 - Help text (string) | |
118 | |
119 - List of option strings (e.g. ``['-Q', '--quux']``). | |
120 | |
121 - Dictionary of keyword arguments sent to the OptionParser/OptionGroup | |
122 ``add_option`` method. | |
123 | |
124 Runtime setting names are derived implicitly from long option names | |
125 ('--a-setting' becomes ``settings.a_setting``) or explicitly from the | |
126 'dest' keyword argument. | |
127 | |
128 Most settings will also have a 'validator' keyword & function. The | |
129 validator function validates setting values (from configuration files | |
130 and command-line option arguments) and converts them to appropriate | |
131 types. For example, the ``docutils.frontend.validate_boolean`` | |
132 function, **required by all boolean settings**, converts true values | |
133 ('1', 'on', 'yes', and 'true') to 1 and false values ('0', 'off', | |
134 'no', 'false', and '') to 0. Validators need only be set once per | |
135 setting. See the `docutils.frontend.validate_*` functions. | |
136 | |
137 See the optparse docs for more details. | |
138 | |
139 - More triples of group title, description, options, as many times as | |
140 needed. Thus, `settings_spec` tuples can be simply concatenated. | |
141 """ | |
142 | |
143 settings_defaults = None | |
144 """A dictionary of defaults for settings not in `settings_spec` (internal | |
145 settings, intended to be inaccessible by command-line and config file). | |
146 Override in subclasses.""" | |
147 | |
148 settings_default_overrides = None | |
149 """A dictionary of auxiliary defaults, to override defaults for settings | |
150 defined in other components. Override in subclasses.""" | |
151 | |
152 relative_path_settings = () | |
153 """Settings containing filesystem paths. Override in subclasses. | |
154 Settings listed here are to be interpreted relative to the current working | |
155 directory.""" | |
156 | |
157 config_section = None | |
158 """The name of the config file section specific to this component | |
159 (lowercase, no brackets). Override in subclasses.""" | |
160 | |
161 config_section_dependencies = None | |
162 """A list of names of config file sections that are to be applied before | |
163 `config_section`, in order (from general to specific). In other words, | |
164 the settings in `config_section` are to be overlaid on top of the settings | |
165 from these sections. The "general" section is assumed implicitly. | |
166 Override in subclasses.""" | |
167 | |
168 | |
169 class TransformSpec: | |
170 | |
171 """ | |
172 Runtime transform specification base class. | |
173 | |
174 TransformSpec subclass objects used by `docutils.transforms.Transformer`. | |
175 """ | |
176 | |
177 def get_transforms(self): | |
178 """Transforms required by this class. Override in subclasses.""" | |
179 if self.default_transforms != (): | |
180 import warnings | |
181 warnings.warn('default_transforms attribute deprecated.\n' | |
182 'Use get_transforms() method instead.', | |
183 DeprecationWarning) | |
184 return list(self.default_transforms) | |
185 return [] | |
186 | |
187 # Deprecated; for compatibility. | |
188 default_transforms = () | |
189 | |
190 unknown_reference_resolvers = () | |
191 """List of functions to try to resolve unknown references. Unknown | |
192 references have a 'refname' attribute which doesn't correspond to any | |
193 target in the document. Called when the transforms in | |
194 `docutils.tranforms.references` are unable to find a correct target. The | |
195 list should contain functions which will try to resolve unknown | |
196 references, with the following signature:: | |
197 | |
198 def reference_resolver(node): | |
199 '''Returns boolean: true if resolved, false if not.''' | |
200 | |
201 If the function is able to resolve the reference, it should also remove | |
202 the 'refname' attribute and mark the node as resolved:: | |
203 | |
204 del node['refname'] | |
205 node.resolved = 1 | |
206 | |
207 Each function must have a "priority" attribute which will affect the order | |
208 the unknown_reference_resolvers are run:: | |
209 | |
210 reference_resolver.priority = 100 | |
211 | |
212 Override in subclasses.""" | |
213 | |
214 | |
215 class Component(SettingsSpec, TransformSpec): | |
216 | |
217 """Base class for Docutils components.""" | |
218 | |
219 component_type = None | |
220 """Name of the component type ('reader', 'parser', 'writer'). Override in | |
221 subclasses.""" | |
222 | |
223 supported = () | |
224 """Names for this component. Override in subclasses.""" | |
225 | |
226 def supports(self, format): | |
227 """ | |
228 Is `format` supported by this component? | |
229 | |
230 To be used by transforms to ask the dependent component if it supports | |
231 a certain input context or output format. | |
232 """ | |
233 return format in self.supported |