Updates to support HECKformat documents, and minor changes.
- Update copyright.
- Remove manifest.in since we're switching to PDM (and defaults moved
to the module).
- Remove setup.py since we're switching to PDM.
- Remove chains.yaml, move data to the processor module.
- Fix passthrough in __main__
- Move main function to separate function to support PDM entrypoint.
- metadata.py: Extensive rework
* Add heck support (lots of little changes to support it). (.heck files can
replace .meta files)
* Add yaml metadata support (.meta files can be yaml)
* Some formatting changes.
* Make metatree be a little easier to read by separating out
functionality into extra functions
- processchain.py: Move chains.yaml to a structure internal.
- Add processors/process_heck.py to support the document side of HECKformat
- add pyproject.toml and embrace PDM.
This commit is contained in:
@ -15,7 +15,7 @@ from typing import Dict, List, cast
|
||||
|
||||
from .metadata import MetaTree
|
||||
from .processchain import ProcessorChains
|
||||
from .processors.processors import PassthroughException
|
||||
from .processors.processors import PassthroughException, NoOutputException
|
||||
from .pygments import pygments_get_css, pygments_markup_contents_html
|
||||
from .template_tools import (
|
||||
date_iso8601,
|
||||
@ -144,14 +144,23 @@ def main() -> int:
|
||||
print("process {} -> {} -> {}".format(os.path.join(root, f), repr(chain), os.path.join(target_dir, chain.output_filename)))
|
||||
if not args.dry_run:
|
||||
try:
|
||||
# normal output
|
||||
# FIXME support binary streams
|
||||
collected_output = [line for line in chain.output]
|
||||
with open(os.path.join(target_dir, chain.output_filename), "w") as outfile:
|
||||
for line in chain.output:
|
||||
outfile.write(line)
|
||||
outfile.writelines(collected_output)
|
||||
except PassthroughException:
|
||||
# write output from input
|
||||
shutil.copyfile(os.path.join(root, f), os.path.join(target_dir, chain.output_filename))
|
||||
except NoOutputException:
|
||||
print("skip output {} -> {}".format(os.path.join(root, f), os.path.join(target_dir, chain.output_filename)))
|
||||
# don't write anyp output
|
||||
pass
|
||||
|
||||
return 0
|
||||
|
||||
def do_main():
|
||||
sys.exit(main())
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
do_main()
|
||||
|
||||
Reference in New Issue
Block a user