aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
AgeCommit message (Collapse)Author
2022-06-27TODO: QPDFObject parent ideaJay Berkenbilt
2022-06-25Track whether certain page modifying methods have been calledJay Berkenbilt
We need to know whether pushInheritedAttributesToPage or getAllPages have been called when generating JSON output. When reading the JSON back in, we have to call the same methods so that object numbers will line up properly.
2022-06-25TODO: abandon (again) and update notes about QPDFPagesTreeJay Berkenbilt
2022-06-25TODO reminderJay Berkenbilt
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