Commit 15272662f632c627c278721673df5f999df39bcd
1 parent
1bc8abfd
Fix typo in json output key name
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.
Showing
4 changed files
with
12 additions
and
10 deletions
TODO
| ... | ... | @@ -61,8 +61,6 @@ General things to remember: |
| 61 | 61 | * The choices for json_key (job.yml) will be different for v1 and v2. |
| 62 | 62 | That information is already duplicated in multiple places. |
| 63 | 63 | |
| 64 | -* Remember typo: search for "Typo" In QPDFJob::doJSONEncrypt. | |
| 65 | - | |
| 66 | 64 | * Test stream with invalid data |
| 67 | 65 | |
| 68 | 66 | * Consider using camelCase in multi-word key names to be consistent | ... | ... |
include/qpdf/QPDFJob.hh
| ... | ... | @@ -445,7 +445,7 @@ class QPDFJob |
| 445 | 445 | |
| 446 | 446 | // Helper functions |
| 447 | 447 | static void usage(std::string const& msg); |
| 448 | - static JSON json_schema(std::set<std::string>* keys = 0); | |
| 448 | + static JSON json_schema(int json_version, std::set<std::string>* keys = 0); | |
| 449 | 449 | static void parse_object_id( |
| 450 | 450 | std::string const& objspec, bool& trailer, int& obj, int& gen); |
| 451 | 451 | void parseRotationParameter(std::string const&); | ... | ... |
libqpdf/QPDFJob.cc
| ... | ... | @@ -1374,10 +1374,12 @@ QPDFJob::doJSONEncrypt(Pipeline* p, bool& first, QPDF& pdf) |
| 1374 | 1374 | "modifyassembly", JSON::makeBool(pdf.allowModifyAssembly())); |
| 1375 | 1375 | j_capabilities.addDictionaryMember( |
| 1376 | 1376 | "modifyforms", JSON::makeBool(pdf.allowModifyForm())); |
| 1377 | - // Typo will be fixed for json v2 | |
| 1378 | 1377 | /* cSpell:ignore moddifyannotations */ |
| 1378 | + std::string MODIFY_ANNOTATIONS = | |
| 1379 | + (this->m->json_version == 1 ? "moddifyannotations" | |
| 1380 | + : "modifyannotations"); | |
| 1379 | 1381 | j_capabilities.addDictionaryMember( |
| 1380 | - "moddifyannotations", JSON::makeBool(pdf.allowModifyAnnotation())); | |
| 1382 | + MODIFY_ANNOTATIONS, JSON::makeBool(pdf.allowModifyAnnotation())); | |
| 1381 | 1383 | j_capabilities.addDictionaryMember( |
| 1382 | 1384 | "modifyother", JSON::makeBool(pdf.allowModifyOther())); |
| 1383 | 1385 | j_capabilities.addDictionaryMember( |
| ... | ... | @@ -1448,7 +1450,7 @@ QPDFJob::doJSONAttachments(Pipeline* p, bool& first, QPDF& pdf) |
| 1448 | 1450 | } |
| 1449 | 1451 | |
| 1450 | 1452 | JSON |
| 1451 | -QPDFJob::json_schema(std::set<std::string>* keys) | |
| 1453 | +QPDFJob::json_schema(int json_version, std::set<std::string>* keys) | |
| 1452 | 1454 | { |
| 1453 | 1455 | // Style: use all lower-case keys with no dashes or underscores. |
| 1454 | 1456 | // Choose array or dictionary based on indexing. For example, we |
| ... | ... | @@ -1585,12 +1587,14 @@ QPDFJob::json_schema(std::set<std::string>* keys) |
| 1585 | 1587 | "needappearances": "whether the form fields' appearance streams need to be regenerated" |
| 1586 | 1588 | })")); |
| 1587 | 1589 | } |
| 1590 | + std::string MODIFY_ANNOTATIONS = | |
| 1591 | + (json_version == 1 ? "moddifyannotations" : "modifyannotations"); | |
| 1588 | 1592 | if (all_keys || keys->count("encrypt")) { |
| 1589 | 1593 | JSON encrypt = schema.addDictionaryMember("encrypt", JSON::parse(R"({ |
| 1590 | 1594 | "capabilities": { |
| 1591 | 1595 | "accessibility": "allow extraction for accessibility?", |
| 1592 | 1596 | "extract": "allow extraction?", |
| 1593 | - "moddifyannotations": "allow modifying annotations?", | |
| 1597 | + ")" + MODIFY_ANNOTATIONS + R"(": "allow modifying annotations?", | |
| 1594 | 1598 | "modify": "allow all modifications?", |
| 1595 | 1599 | "modifyassembly": "allow modifying document assembly?", |
| 1596 | 1600 | "modifyforms": "allow modifying forms?", |
| ... | ... | @@ -1630,7 +1634,7 @@ QPDFJob::json_schema(std::set<std::string>* keys) |
| 1630 | 1634 | std::string |
| 1631 | 1635 | QPDFJob::json_out_schema_v1() |
| 1632 | 1636 | { |
| 1633 | - return json_schema().unparse(); | |
| 1637 | + return json_schema(1).unparse(); | |
| 1634 | 1638 | } |
| 1635 | 1639 | |
| 1636 | 1640 | void |
| ... | ... | @@ -1717,7 +1721,7 @@ QPDFJob::doJSON(QPDF& pdf, Pipeline* p) |
| 1717 | 1721 | |
| 1718 | 1722 | if (this->m->test_json_schema) { |
| 1719 | 1723 | // Check against schema |
| 1720 | - JSON schema = json_schema(&m->json_keys); | |
| 1724 | + JSON schema = json_schema(this->m->json_version, &m->json_keys); | |
| 1721 | 1725 | std::list<std::string> errors; |
| 1722 | 1726 | JSON captured = JSON::parse(captured_json); |
| 1723 | 1727 | if (!captured.checkSchema(schema, errors)) { | ... | ... |
qpdf/qtest/qpdf.test
| ... | ... | @@ -4306,8 +4306,8 @@ foreach my $d (@encrypted_files) |
| 4306 | 4306 | $enc_json .= |
| 4307 | 4307 | " \"accessibility\": " . &$jf($accessible) . ",\n" . |
| 4308 | 4308 | " \"extract\": " . &$jf($extract) . ",\n" . |
| 4309 | - " \"moddifyannotations\": " . &$jf($modifyannot) . ",\n" . | |
| 4310 | 4309 | " \"modify\": " . &$jf($modifyall) . ",\n" . |
| 4310 | + " \"modifyannotations\": " . &$jf($modifyannot) . ",\n" . | |
| 4311 | 4311 | " \"modifyassembly\": " . &$jf($modifyassembly) . ",\n" . |
| 4312 | 4312 | " \"modifyforms\": " . &$jf($modifyform) . ",\n" . |
| 4313 | 4313 | " \"modifyother\": " . &$jf($modifyother) . ",\n" . | ... | ... |