|
19 | 19 | from sphinx_autobuild.utils import find_free_port |
20 | 20 |
|
21 | 21 |
|
| 22 | +def main(): |
| 23 | + """Actual application logic.""" |
| 24 | + colorama.init() |
| 25 | + |
| 26 | + args, build_args = _parse_args(sys.argv[1:]) |
| 27 | + |
| 28 | + srcdir = os.path.realpath(args.sourcedir) |
| 29 | + outdir = os.path.realpath(args.outdir) |
| 30 | + if not os.path.exists(outdir): |
| 31 | + os.makedirs(outdir) |
| 32 | + |
| 33 | + port_num = args.port or find_free_port() |
| 34 | + server = Server() |
| 35 | + |
| 36 | + pre_build_commands = list(map(shlex.split, args.pre_build)) |
| 37 | + builder = Builder( |
| 38 | + server.watcher, |
| 39 | + build_args, |
| 40 | + host=args.host, |
| 41 | + port=port_num, |
| 42 | + pre_build_commands=pre_build_commands, |
| 43 | + ) |
| 44 | + |
| 45 | + ignore_handler = _get_ignore_handler(args.ignore, args.re_ignore, outdir, |
| 46 | + args.warnings_file, args.doctree_dir) |
| 47 | + server.watch(srcdir, builder, ignore=ignore_handler) |
| 48 | + for dirpath in args.additional_watched_dirs: |
| 49 | + dirpath = os.path.realpath(dirpath) |
| 50 | + server.watch(dirpath, builder, ignore=ignore_handler) |
| 51 | + server.watch(outdir, ignore=ignore_handler) |
| 52 | + |
| 53 | + if not args.no_initial_build: |
| 54 | + builder() |
| 55 | + |
| 56 | + if args.openbrowser is True: |
| 57 | + server.serve(port=port_num, host=args.host, root=outdir, open_url_delay=args.delay) |
| 58 | + else: |
| 59 | + server.serve(port=port_num, host=args.host, root=outdir) |
| 60 | + |
| 61 | + |
22 | 62 | def _parse_args(argv): |
23 | 63 | # Parse once with the Sphinx parser to emit errors |
24 | 64 | # and capture the ``-d`` and ``-w`` options. |
@@ -147,45 +187,5 @@ def _get_ignore_handler(ignore, regex_based, out_dir, doctree_dir, warnings_file |
147 | 187 | return Ignore(regular, regex_based) |
148 | 188 |
|
149 | 189 |
|
150 | | -def main(): |
151 | | - """Actual application logic.""" |
152 | | - colorama.init() |
153 | | - |
154 | | - args, build_args = _parse_args(sys.argv[1:]) |
155 | | - |
156 | | - srcdir = os.path.realpath(args.sourcedir) |
157 | | - outdir = os.path.realpath(args.outdir) |
158 | | - if not os.path.exists(outdir): |
159 | | - os.makedirs(outdir) |
160 | | - |
161 | | - port_num = args.port or find_free_port() |
162 | | - server = Server() |
163 | | - |
164 | | - pre_build_commands = list(map(shlex.split, args.pre_build)) |
165 | | - builder = Builder( |
166 | | - server.watcher, |
167 | | - build_args, |
168 | | - host=args.host, |
169 | | - port=port_num, |
170 | | - pre_build_commands=pre_build_commands, |
171 | | - ) |
172 | | - |
173 | | - ignore_handler = _get_ignore_handler(args.ignore, args.re_ignore, outdir, |
174 | | - args.warnings_file, args.doctree_dir) |
175 | | - server.watch(srcdir, builder, ignore=ignore_handler) |
176 | | - for dirpath in args.additional_watched_dirs: |
177 | | - dirpath = os.path.realpath(dirpath) |
178 | | - server.watch(dirpath, builder, ignore=ignore_handler) |
179 | | - server.watch(outdir, ignore=ignore_handler) |
180 | | - |
181 | | - if not args.no_initial_build: |
182 | | - builder() |
183 | | - |
184 | | - if args.openbrowser is True: |
185 | | - server.serve(port=port_num, host=args.host, root=outdir, open_url_delay=args.delay) |
186 | | - else: |
187 | | - server.serve(port=port_num, host=args.host, root=outdir) |
188 | | - |
189 | | - |
190 | 190 | if __name__ == "__main__": |
191 | 191 | main() |
0 commit comments