Commit Graph

243 Commits

Author SHA1 Message Date
Martin A. Brown 76d5886e54 fix skipping SCSI-2.4-HOWTO (bad stem/ext handling)
source document identification was skipping any documents which lived in their
own directory AND whose names had a dot; fixed and test support added
2016-03-01 19:49:28 -08:00
Martin A. Brown 08ef4c35bf only say we are removing, if removing 2016-03-01 18:38:58 -08:00
Martin A. Brown dd6cda7726 improve diagnostic error messages a little bit 2016-03-01 14:32:14 -08:00
Martin A. Brown dfa729b9e5 restore driver.py to functionality
after refactoring into a bunch of separate functions, the tests finally pass
again
2016-03-01 14:10:51 -08:00
Martin A. Brown ae89d6814a inverted logic; caught in testing code 2016-03-01 13:36:09 -08:00
Martin A. Brown 2feb454c18 create more functions for the driver.py
Rearrange the logic for handling the various arguments so that it is
less obnoxious; breaking it into functions makes it easier to read (and test).
2016-03-01 13:21:26 -08:00
Martin A. Brown 4ec06998b4 correct the labeling in the --help output 2016-03-01 13:21:11 -08:00
Martin A. Brown 7664d35090 use abspath before looking for documents 2016-03-01 11:35:06 -08:00
Martin A. Brown b54962900d allow case-insensitive matching for document types
The Python names for the document types are upper-cased and probably not
predictably named for the end user; allow a case-insensitive match when trying
to turn off building or listing for a particular document type.
2016-03-01 11:01:32 -08:00
Martin A. Brown aff926bb58 improve the handling of --skip 2016-03-01 10:30:18 -08:00
Martin A. Brown fe54af73a5 add default (system) configuration file 2016-03-01 09:04:45 -08:00
Martin A. Brown 8792b4c83a make individual assertions 2016-03-01 08:20:57 -08:00
Martin A. Brown 6e2041692e skip orphaned documents passed into build() 2016-03-01 07:31:52 -08:00
Martin A. Brown c4ee8366f9 reporting when skipping a dir/file in sourcedir 2016-03-01 07:31:19 -08:00
Martin A. Brown 388215186e adding main() as entry point 2016-03-01 07:15:35 -08:00
Martin A. Brown bb14a8cb51 allow file to be specified for summary
also allow the creation of an in-memory OutputDirectory object before build
2016-02-29 21:32:20 -08:00
Martin A. Brown dfc9855991 logic overhaul; abstract inventory creation
each function was creating its own inventory; this is not necessary
also, if a user wants only to build a single document, it is not necessary to
scan the entire source and output directory (small, but perceptible speedup to
the end user)
better checking of the various different possible argument types, since an
argument can be a filename, a status_class or a stem
2016-02-29 20:33:33 -08:00
Martin A. Brown 16885508da pep8/pyflakes 2016-02-29 20:33:14 -08:00
Martin A. Brown 363bba8a37 pep8/pyflakes 2016-02-29 20:32:36 -08:00
Martin A. Brown 56b1a027ca access inventory by status class name
create method getByStatusClass() and add testing
2016-02-29 18:03:16 -08:00
Martin A. Brown d807c02173 create and use general function arg_issourcedoc
a source document is defined as either a file with a known ending (e.g. .xml,
.sgml) or a directory name containing a file with the directory name plus a
known extension

create a small function (arg_issourcedoc), which takes a filename and returns
that filename if it is (possibly) a source document or, if it is a directory,
finds the main file in the directory which represents the main document
2016-02-29 17:59:49 -08:00
Martin A. Brown 17a60e367a make the action --options a mutually exclusive group 2016-02-29 17:56:41 -08:00
Martin A. Brown fa73f93080 messed up indentation 2016-02-29 11:37:13 -08:00
Martin A. Brown ddb5424941 get 100% coverage on the utils.py module 2016-02-29 11:32:01 -08:00
Martin A. Brown 6cdf0b65c1 explicitly stringify values at "input"
user can pass in a dict(); os.environ always contains string values, though,
so make sure that the dict() looks like what would be returned from os.environ
2016-02-29 10:48:03 -08:00
Martin A. Brown 98dd5ecdf8 no config validation yet
(and, I should not have used such terms inline in code)
2016-02-27 11:29:05 -08:00
Martin A. Brown 36e92b83d9 perform the processor prebuild check first
it is smarter to perform the non-destructive check first, rather than blowing
away the output directory and then reporting that it is impossible to rebuild
the document output tree
2016-02-27 11:13:58 -08:00
Martin A. Brown fe520cd583 add logging logic to driver.py 2016-02-27 10:52:35 -08:00
Martin A. Brown 5f11427f38 remove pipe from script 2016-02-27 10:46:18 -08:00
Martin A. Brown 55cc7d5775 improve visual grouping of --help output
use argparse's ArgumentGroups to separate the argparse options for each of the
processors
2016-02-27 09:45:32 -08:00
Martin A. Brown eac92b5354 add the document stem to the __repr__ 2016-02-26 23:18:50 -08:00
Martin A. Brown 066f319156 change wrapped function name to "timing" for log entry 2016-02-26 23:18:24 -08:00
Martin A. Brown ee68a453d2 exit 1 and report extra args on CLI 2016-02-26 23:18:02 -08:00
Martin A. Brown 9137946a05 adding timing to a few methods 2016-02-26 23:02:00 -08:00
Martin A. Brown e6833f3989 and comma-separated in --verbose mode, too 2016-02-26 22:22:00 -08:00
Martin A. Brown 57055e582d better production of status list 2016-02-26 22:19:30 -08:00
Martin A. Brown 1c4f283482 handle the images and resources during publication 2016-02-26 22:18:02 -08:00
Martin A. Brown de514fd41b user can now specify file, stem or nothing for build 2016-02-26 19:07:05 -08:00
Martin A. Brown 39c4a13d88 repair logic for when there is no index.sgml 2016-02-26 19:04:51 -08:00
Martin A. Brown f739e365c0 do not bother generating index.sgml unless desirable/necessary 2016-02-26 18:15:27 -08:00
Martin A. Brown 9ffdd1df5d support SourceDocument as directory nam
allow the driver to use the new feature of sources.py and SourceDocument, so
user can refer to simply a directory as the document
2016-02-26 18:04:39 -08:00
Martin A. Brown e7c85fb2ec allow construction of SourceDocument with file or directory 2016-02-26 13:22:20 -08:00
Martin A. Brown f40ff2f915 unused function 2016-02-26 12:21:04 -08:00
Martin A. Brown f1bc2121a6 moving hook_build_{success,failure} to BaseDoctype 2016-02-26 12:08:05 -08:00
Martin A. Brown 80d692efba massive simplification of generate() method
move hook_build_success() and hook_build_failure() into BaseDoctype;
subclasses can always override, if need be
2016-02-26 12:06:34 -08:00
Martin A. Brown 89d8f14231 pyflakes fix 2016-02-26 12:06:27 -08:00
Martin A. Brown 3a0bb65961 switch to the DAG model 2016-02-26 12:06:17 -08:00
Martin A. Brown 84477c0f45 move cleanup() method to BaseDoctype 2016-02-26 11:58:56 -08:00
Martin A. Brown 66f11e5f3b move cleanup() method to BaseDoctype 2016-02-26 11:58:43 -08:00
Martin A. Brown 5602ab68dd pep8 fixes 2016-02-26 11:56:28 -08:00