Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-06-18 | Expose exit code values to C API via Constants.h | Jay Berkenbilt | |
2022-06-18 | Use the default logger for other writes to stdout/stderr | Jay Berkenbilt | |
When there is no context for writing output or error messages, use the default logger. | |||
2022-06-18 | Use "save" logger when saving data to standard output | Jay 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-18 | TODO: update JSON and other changes | Jay Berkenbilt | |
2022-06-18 | TODO: plan for QPDFLogger | Jay Berkenbilt | |
2022-06-06 | JSON doc fixes and ideas based on discussion with m-holger | Jay Berkenbilt | |
2022-05-31 | Update documentation for qpdf JSON v2 | Jay Berkenbilt | |
2022-05-31 | In json mode, reveal recovered user password when otherwise unavailable | Jay Berkenbilt | |
2022-05-31 | Add additional information when listing attachments | Jay Berkenbilt | |
2022-05-31 | TODO notes | Jay Berkenbilt | |
2022-05-22 | TODO: clean up remaining work for json v2 | Jay Berkenbilt | |
2022-05-21 | TODO: notes on QPDFPagesTree | Jay Berkenbilt | |
2022-05-21 | Add json to performance tests | Jay Berkenbilt | |
2022-05-21 | Add json to large file test | Jay Berkenbilt | |
2022-05-20 | Exercise object description in tests | Jay Berkenbilt | |
2022-05-20 | Add test for bad data and bad datafile | Jay Berkenbilt | |
2022-05-20 | Test --update-from-json | Jay Berkenbilt | |
2022-05-20 | Explicitly test ignoring unknown keys in JSON input | Jay Berkenbilt | |
2022-05-20 | Tests with manually constructed qpdf json | Jay Berkenbilt | |
2022-05-20 | Major rework -- see long comments | Jay 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-20 | Support stream data -- not tested | Jay Berkenbilt | |
There are no automated tests yet, but committing work so far in preparation for some refactoring. | |||
2022-05-20 | Parse objects; stream data is not yet handled | Jay Berkenbilt | |
2022-05-16 | Implement top-level qpdf json parsing | Jay Berkenbilt | |
2022-05-16 | TODO: solidify work for JSON to PDF | Jay Berkenbilt | |
2022-05-14 | Split qpdf.test into multiple test suites | Jay Berkenbilt | |
This makes it a lot easier to run parts of the test suite. | |||
2022-05-14 | Update qtest-driver to log invalid tests | Jay Berkenbilt | |
This is taken from an unrelased change to qtest. | |||
2022-05-08 | TODO note about linux binary distribution runpath | Jay Berkenbilt | |
2022-05-08 | Test inline stream data with different decode levels | Jay Berkenbilt | |
2022-05-08 | Test json v2 with invalid stream data | Jay Berkenbilt | |
2022-05-08 | Implement JSON v2 output | Jay Berkenbilt | |
2022-05-08 | Prepare test suite for json v2 | Jay Berkenbilt | |
2022-05-08 | Fix typo in json output key name | Jay 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-08 | Implement JSON v2 for Stream | Jay Berkenbilt | |
Not fully exercised in this commit | |||
2022-05-07 | Prepare code for JSON v2 | Jay Berkenbilt | |
Update getJSON() methods and calls to them | |||
2022-05-07 | Objectinfo json: write incrementally and in numeric order | Jay 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-07 | Test json against schema only on demand | Jay Berkenbilt | |
Testing json against schema requires an in-memory copy, so do it only when requested by the test suite. | |||
2022-05-07 | TODO: solidify remaining json v2 work | Jay Berkenbilt | |
2022-05-07 | JSON: add blob type that generates base64-encoded binary data | Jay Berkenbilt | |
2022-05-04 | Change JSON parser to parse from an InputSource | Jay Berkenbilt | |
2022-05-04 | JSON: add write methods and implement unparse() in terms of those | Jay Berkenbilt | |
2022-05-04 | Add new Pl_String Pipeline | Jay Berkenbilt | |
2022-05-04 | Add new Pl_OStream Pipeline | Jay Berkenbilt | |
2022-05-04 | Add new Pipeline convenience methods | Jay Berkenbilt | |
2022-05-04 | TODO note about test suites | Jay Berkenbilt | |
2022-05-04 | Add internal Pl_Base64 | Jay Berkenbilt | |
Bidirectional base64; will be used by JSON v2. | |||
2022-05-03 | TODO: more JSON notes | Jay Berkenbilt | |
2022-05-03 | TODO: JSON notes | Jay Berkenbilt | |
2022-05-01 | Spell check | Jay Berkenbilt | |
2022-05-01 | TODO item | Jay Berkenbilt | |
2022-04-30 | Mark weak encryption with API changes (fixes #576) | Jay Berkenbilt | |