aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
AgeCommit message (Collapse)Author
2022-06-19Add qpdfjob_register_progress_reporterJay Berkenbilt
2022-06-19Add QPDFJob::registerProgressReporterJay Berkenbilt
2022-06-19Add examples for output capture (fixes #691)Jay Berkenbilt
2022-06-18Expose exit code values to C API via Constants.hJay Berkenbilt
2022-06-18Use the default logger for other writes to stdout/stderrJay Berkenbilt
When there is no context for writing output or error messages, use the default logger.
2022-06-18Use "save" logger when saving data to standard outputJay Berkenbilt
This includes the output PDF, streams from --show-object and attachments from --save-attachment. This also enables --verbose and --progress to work with saving to stdout.
2022-06-18TODO: update JSON and other changesJay Berkenbilt
2022-06-18TODO: plan for QPDFLoggerJay Berkenbilt
2022-06-06JSON doc fixes and ideas based on discussion with m-holgerJay Berkenbilt
2022-05-31Update documentation for qpdf JSON v2Jay Berkenbilt
2022-05-31In json mode, reveal recovered user password when otherwise unavailableJay Berkenbilt
2022-05-31Add additional information when listing attachmentsJay Berkenbilt
2022-05-31TODO notesJay Berkenbilt
2022-05-22TODO: clean up remaining work for json v2Jay Berkenbilt
2022-05-21TODO: notes on QPDFPagesTreeJay Berkenbilt
2022-05-21Add json to performance testsJay Berkenbilt
2022-05-21Add json to large file testJay Berkenbilt
2022-05-20Exercise object description in testsJay Berkenbilt
2022-05-20Add test for bad data and bad datafileJay Berkenbilt
2022-05-20Test --update-from-jsonJay Berkenbilt
2022-05-20Explicitly test ignoring unknown keys in JSON inputJay Berkenbilt
2022-05-20Tests with manually constructed qpdf jsonJay Berkenbilt
2022-05-20Major rework -- see long commentsJay Berkenbilt
* Replace --create-from-json=file with --json-input, which causes the regular input to be treated as json. * Eliminate --to-json * In --json=2, bring back "objects" and eliminate "objectinfo". Stream data is never present. * In --json-output=2, write "qpdf-v2" with "objects" and include stream data.
2022-05-20Support stream data -- not testedJay Berkenbilt
There are no automated tests yet, but committing work so far in preparation for some refactoring.
2022-05-20Parse objects; stream data is not yet handledJay Berkenbilt
2022-05-16Implement top-level qpdf json parsingJay Berkenbilt
2022-05-16TODO: solidify work for JSON to PDFJay Berkenbilt
2022-05-14Split qpdf.test into multiple test suitesJay Berkenbilt
This makes it a lot easier to run parts of the test suite.
2022-05-14Update qtest-driver to log invalid testsJay Berkenbilt
This is taken from an unrelased change to qtest.
2022-05-08TODO note about linux binary distribution runpathJay Berkenbilt
2022-05-08Test inline stream data with different decode levelsJay Berkenbilt
2022-05-08Test json v2 with invalid stream dataJay Berkenbilt
2022-05-08Implement JSON v2 outputJay Berkenbilt
2022-05-08Prepare test suite for json v2Jay Berkenbilt
2022-05-08Fix typo in json output key nameJay Berkenbilt
moddify -> modify. Also carefully spell checked all remaining keys by splitting them into words and running a spell checker, not just relying on visual proofreading. That was the only one.
2022-05-08Implement JSON v2 for StreamJay Berkenbilt
Not fully exercised in this commit
2022-05-07Prepare code for JSON v2Jay Berkenbilt
Update getJSON() methods and calls to them
2022-05-07Objectinfo json: write incrementally and in numeric orderJay Berkenbilt
This script was used on test data: ---------- #!/usr/bin/env python3 import json import sys import re def json_dumps(data): return json.dumps(data, ensure_ascii=False, indent=2, separators=(',', ': ')) for filename in sys.argv[1:]: with open(filename, 'r') as f: data = json.loads(f.read()) if 'objectinfo' not in data: continue trailer = None to_sort = [] for k, v in data['objectinfo'].items(): if k == 'trailer': trailer = v else: m = re.match(r'^(\d+) \d+ R', k) if m: to_sort.append([int(m.group(1)), k, v]) newobjectinfo = {x[1]: x[2] for x in sorted(to_sort)} if trailer is not None: newobjectinfo['trailer'] = trailer data['objectinfo'] = newobjectinfo print(json_dumps(data)) ----------
2022-05-07Test json against schema only on demandJay Berkenbilt
Testing json against schema requires an in-memory copy, so do it only when requested by the test suite.
2022-05-07TODO: solidify remaining json v2 workJay Berkenbilt
2022-05-07JSON: add blob type that generates base64-encoded binary dataJay Berkenbilt
2022-05-04Change JSON parser to parse from an InputSourceJay Berkenbilt
2022-05-04JSON: add write methods and implement unparse() in terms of thoseJay Berkenbilt
2022-05-04Add new Pl_String PipelineJay Berkenbilt
2022-05-04Add new Pl_OStream PipelineJay Berkenbilt
2022-05-04Add new Pipeline convenience methodsJay Berkenbilt
2022-05-04TODO note about test suitesJay Berkenbilt
2022-05-04Add internal Pl_Base64Jay Berkenbilt
Bidirectional base64; will be used by JSON v2.
2022-05-03TODO: more JSON notesJay Berkenbilt
2022-05-03TODO: JSON notesJay Berkenbilt