Commit Graph

40 Commits

Author SHA1 Message Date
Jay Berkenbilt 37cf128501 Remove extraneous blank lines 2024-01-15 11:07:49 -05:00
m-holger dca5927ba0 Tweak Handlers::json_handlers
Use std::vector instead of list and move shared pointers
2024-01-15 15:18:55 +00:00
m-holger b85a590bc5 Tweak Handlers::beginUnderOverlay and beginPages 2024-01-15 15:03:33 +00:00
Jay Berkenbilt 6cf04b0a88 Allow repetition of overlay/underlay
This is just QPDFJob wiring.
2024-01-11 06:13:57 -05:00
Jay Berkenbilt 0161f62e38 QPDFJob JSON: allow single item in place of array 2024-01-11 06:13:57 -05:00
Jay Berkenbilt 12f7a4461b Handle pages/under/overlay JSON file in begin
...since they have to be handled before other options. It was working
because, in both cases, `file` was alphabetically before the other
keys, but this implementation gives a stronger guarantee.
2024-01-10 16:45:14 -05:00
Jay Berkenbilt 9c723aeb56 Allow --file with --overlay and --underlay 2024-01-10 16:44:46 -05:00
Jay Berkenbilt 34f013c1be Allow --file and --range with --pages
Accept --file and --range as named parameters in additional to
allowing positional arguments. This is in preparation for adding
additional flags.
2024-01-10 16:44:17 -05:00
Jay Berkenbilt a0e70b370a Wiring for --set-page-labels: manual (non-bisectable commit)
This commit contains only the manual changes. It is separated for
clarity. This commit would not pass CI because it lacks the automated
changes, which appear in the next commit.
2024-01-05 17:10:32 -05:00
Jay Berkenbilt 1173a0bdfc Add --user-password, --owner-password, --bits to --encrypt
Add the command-line arguments. They don't do anything yet.
2023-12-22 18:13:05 -05:00
Jay Berkenbilt 8854143c7b Spell check 2023-10-07 17:52:35 -04:00
m-holger 5906dd5c1f Code tidy - Clang-Tidy rule modernize-use-default-member-init 2023-06-09 15:43:21 +01:00
m-holger 3c5700c255 Code tidy - reflow comments and strings 2023-06-02 16:00:40 +01:00
Jay Berkenbilt 60965d5f4d Rerun clang-format 2023-05-21 13:35:09 -04:00
m-holger 85d784952f Globally replace 'this->m->' with 'm->'
Using search and replace.
2023-05-21 14:42:34 +01:00
Jay Berkenbilt 80acfc3826 Fix --json-help to take a version parameter 2022-07-31 16:23:17 -04:00
Jay Berkenbilt 6f43bf8de3 Major rework -- see long comments
* 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 09:16:25 -04:00
Jay Berkenbilt 4fe2e06b47 Add --create-from-json and --update-from-json arguments
Also add stubs for top-level QPDF methods (createFromJSON,
updateFromJSON)
2022-05-16 13:41:40 -04:00
Jay Berkenbilt 7f023701dd Formatting: remove space in range-style for loops
Change .clang-format and commit automated changes from a fresh run of
format-code
2022-04-30 13:26:43 -04:00
Jay Berkenbilt d0b7cc8ac6 QPDFJob json: make removeAttachment take an array (fixes #693) 2022-04-24 13:06:19 -04:00
Jay Berkenbilt 12f1eb15ca Programmatically apply new formatting to code
Run this:

for i in  **/*.cc **/*.c **/*.h **/*.hh; do
  clang-format < $i >| $i.new && mv $i.new $i
done
2022-04-04 08:10:40 -04:00
Jay Berkenbilt 2229e37e88 Add a blank line after the first header included in each source 2022-02-04 16:31:31 -05:00
Jay Berkenbilt cc5485dac1 QPDFJob: documentation 2022-02-01 09:04:55 -05:00
Jay Berkenbilt 21b9290785 QPDFJob json: make bare arguments expect the empty string
Changing from bool requiring true to string requiring the empty string
is more consistent with the CLI and makes it possible to add an
optional parameter or choices later without breaking compatibility.
2022-01-31 18:16:09 -05:00
Jay Berkenbilt ea96330bb6 QPDFJob json: flatten json structure
Flatten everything to make it easier to map command-line flags to
json. The old structure was an illusion anyway because there was no
mechanism to enforce that things were in the right place. This also
helps with future flexibility.
2022-01-31 18:16:09 -05:00
Jay Berkenbilt 47f33cec25 QPDFJob: add test cases 2022-01-31 15:57:45 -05:00
Jay Berkenbilt caa00556cf Change filename or path to file in json and QPDFJob
Use "file" consistently for specifying a file path. We use "filename"
when adding attachments for a completely different purpose.
2022-01-31 15:57:45 -05:00
Jay Berkenbilt 81b6314cb5 QPDFJob: fix logic errors in handling arrays
The code was assuming everything was happening inside dictionaries.
Instead, make the dictionary key handler creatino explicit only when
iterating through dictionary keys.
2022-01-31 15:57:45 -05:00
Jay Berkenbilt f99e0af49c QPDFJob: rename function that returns job schema 2022-01-31 15:57:45 -05:00
Jay Berkenbilt 1355d95d08 QPDFJob: partial mode for initializeFromJson 2022-01-31 15:57:45 -05:00
Jay Berkenbilt eeffc69d87 QPDFJob_json: implement handlers for pages 2022-01-31 15:57:45 -05:00
Jay Berkenbilt fa9676557e QDPFJob: incorporate change to JSONHandler for array start function 2022-01-31 15:57:45 -05:00
Jay Berkenbilt b74e7989c3 QPDFJob_json: implement handlers except pages 2022-01-31 15:57:45 -05:00
Jay Berkenbilt e01bbccb40 QPDFJob: incorporate change to JSONHandler for dict start function 2022-01-31 15:57:45 -05:00
Jay Berkenbilt 11a86e444d QPDFJob: autogenerate json init and declarations
Now still have to go through and implement the handlers.
2022-01-31 15:57:45 -05:00
Jay Berkenbilt 842a9d928e QPDFJob_json: add code to register handlers 2022-01-31 15:57:45 -05:00
Jay Berkenbilt 0f05cae66a QPDFJob: generate json decl and init file skeletons 2022-01-31 15:57:45 -05:00
Jay Berkenbilt 8a9100f674 QPDFJob: add checkConfiguration to Config 2022-01-31 15:57:45 -05:00
Jay Berkenbilt 0c8e9e5912 QPDFJob: prepare for automatically generated json handlers 2022-01-31 15:57:45 -05:00
Jay Berkenbilt 9013b7ca91 QPDFJob: move placeholder json to a separate source file 2022-01-30 13:11:03 -05:00