Logo white

OpenSystemsDevelopment / qpdf

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • Commits 4,691
  • Compare
  • Branches 1
  • Tags 0
  • qpdf
  • include
20 May, 2022
9 commits
  • Make version default to latest for --json-output (like --json)
    dc8df962
    Jay Berkenbilt authored
    2022-05-20 09:16:25 -0400  
    Browse Dir »
  • Major rework -- see long comments ...
    6f43bf8d
    * 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.
    Jay Berkenbilt authored
    2022-05-20 09:16:25 -0400  
    Browse Dir »
  • Add QUtil::FileCloser to the public API
    23fc6756
    Jay Berkenbilt authored
    2022-05-20 09:16:25 -0400  
    Browse Dir »
  • Support stream data -- not tested ...
    0fe8d447
    There are no automated tests yet, but committing work so far in
    preparation for some refactoring.
    Jay Berkenbilt authored
    2022-05-20 09:16:25 -0400  
    Browse Dir »
  • replaceStreamData: accept uninitialized filter/decode_parms ...
    63c7eefe
    These mean to leave the original values alone. This is needed for
    reconstructing streams from JSON given that the stream data and stream
    dictionary may appear in any order in the JSON.
    Jay Berkenbilt authored
    2022-05-20 09:16:25 -0400  
    Browse Dir »
  • Back out fluent QPDFObjectHandle methods. Keep the andGet methods. ...
    56f1b411
    I decided these were confusing and inconsistent with how JSON works.
    They muddle the API rather than improving it.
    Jay Berkenbilt authored
    2022-05-20 09:16:25 -0400  
    Browse Dir »
  • Parse objects; stream data is not yet handled
    7e7a9c43
    Jay Berkenbilt authored
    2022-05-20 09:16:25 -0400  
    Browse Dir »
  • Add new error type for JSON
    be0ed6ab
    Jay Berkenbilt authored
    2022-05-20 07:54:09 -0400  
    Browse Dir »
  • Add private methods for reserving specific objects
    9064542b
    Jay Berkenbilt authored
    2022-05-20 07:54:09 -0400  
    Browse Dir »

16 May, 2022
4 commits
  • Implement top-level qpdf json parsing
    7fa5d177
    Jay Berkenbilt authored
    2022-05-16 13:41:40 -0400  
    Browse Dir »
  • Add scaffolding for QPDF JSON reactor
    8d42eb26
    Jay Berkenbilt authored
    2022-05-16 13:41:40 -0400  
    Browse Dir »
  • Add --create-from-json and --update-from-json arguments ...
    4fe2e06b
    Also add stubs for top-level QPDF methods (createFromJSON,
    updateFromJSON)
    Jay Berkenbilt authored
    2022-05-16 13:41:40 -0400  
    Browse Dir »
  • Add QUtil::is_long_long
    60ec94a7
    Jay Berkenbilt authored
    2022-05-16 13:39:26 -0400  
    Browse Dir »

14 May, 2022
1 commit
  • JSON reactor: improve handling of nested containers ...
    4c7cfd5c
    Call the parent container's item method before calling the child
    item's start method so we can easily know the current nesting level
    when nested items are added.
    Jay Berkenbilt authored
    2022-05-14 17:35:06 -0400  
    Browse Dir »

08 May, 2022
4 commits
  • Add --to-json option
    e9390aea
    Jay Berkenbilt authored
    2022-05-08 13:45:20 -0400  
    Browse Dir »
  • Implement JSON v2 output
    c76536dd
    Jay Berkenbilt authored
    2022-05-08 13:45:20 -0400  
    Browse Dir »
  • Fix typo in json output key name ...
    15272662
    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.
    Jay Berkenbilt authored
    2022-05-08 13:45:20 -0400  
    Browse Dir »
  • Implement JSON v2 for Stream ...
    1bc8abfd
    Not fully exercised in this commit
    Jay Berkenbilt authored
    2022-05-08 13:45:20 -0400  
    Browse Dir »

07 May, 2022
7 commits
  • Prepare code for JSON v2 ...
    16f4f94c
    Update getJSON() methods and calls to them
    Jay Berkenbilt authored
    2022-05-07 11:12:01 -0400  
    Browse Dir »
  • Objects json: write incrementally and in numeric order ...
    948de609
    The following script was used to adjust 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 'objects' not in data:
            continue
        trailer = None
        to_sort = []
        for k, v in data['objects'].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])
        newobjects = {x[1]: x[2] for x in sorted(to_sort)}
        if trailer is not None:
            newobjects['trailer'] = trailer
        data['objects'] = newobjects
    print(json_dumps(data))
    ----------
    Jay Berkenbilt authored
    2022-05-07 08:26:31 -0400  
    Browse Dir »
  • Make JSON::writeNext public
    1615d7fe
    Jay Berkenbilt authored
    2022-05-07 08:26:31 -0400  
    Browse Dir »
  • Top-level json: write incrementally ...
    dc9b7287
    This commit just changes the order in which fields are written to the
    json without changing their content. All the json files in the test
    suite were modified with this script to ensure that we didn't get any
    changes other than ordering.
    
    ----------
    #!/usr/bin/env python3
    import json
    import sys
    
    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())
        newdata = {}
        for i in ('version', 'parameters', 'pages', 'pagelabels',
                  'acroform', 'attachments', 'encrypt', 'outlines',
                  'objects', 'objectinfo'):
            if i in data:
                newdata[i] = data[i]
    print(json_dumps(newdata))
    ----------
    Jay Berkenbilt authored
    2022-05-07 08:26:31 -0400  
    Browse Dir »
  • Add next to Pl_String and fix comments
    a3c99803
    Jay Berkenbilt authored
    2022-05-07 08:26:31 -0400  
    Browse Dir »
  • Add --test-json-schema command-line option
    b361c5ce
    Jay Berkenbilt authored
    2022-05-07 08:26:31 -0400  
    Browse Dir »
  • QPDFJob: have doJSON write to a pipeline
    7604ac5c
    Jay Berkenbilt authored
    2022-05-07 08:26:31 -0400  
    Browse Dir »

06 May, 2022
1 commit
  • JSON: add blob type that generates base64-encoded binary data
    0500d434
    Jay Berkenbilt authored
    2022-05-06 19:14:52 -0400  
    Browse Dir »

04 May, 2022
3 commits
  • Change JSON parser to parse from an InputSource
    05fda4af
    Jay Berkenbilt authored
    2022-05-04 12:07:11 -0400  
    Browse Dir »
  • Add new FileInputSource constructors
    e5f3910c
    Jay Berkenbilt authored
    2022-05-04 12:07:11 -0400  
    Browse Dir »
  • JSON: add write methods and implement unparse() in terms of those
    e2596359
    Jay Berkenbilt authored
    2022-05-04 12:07:11 -0400  
    Browse Dir »

03 May, 2022
5 commits
  • Add new Pl_String Pipeline
    f4206a09
    Jay Berkenbilt authored
    2022-05-03 18:54:51 -0400  
    Browse Dir »
  • Add new Pl_OStream Pipeline
    16139d97
    Jay Berkenbilt authored
    2022-05-03 18:54:51 -0400  
    Browse Dir »
  • Add new Pipeline convenience methods
    f1c6bb97
    Jay Berkenbilt authored
    2022-05-03 18:31:22 -0400  
    Browse Dir »
  • Make Pipeline::write take an unsigned char const* (API change)
    59f3e09e
    Jay Berkenbilt authored
    2022-05-03 18:31:22 -0400  
    Browse Dir »
  • Make assert handling less error-prone ...
    62bf296a
    Prevent my future self or other contributors from using assert in
    tests and then having that assert not do anything because of the
    NDEBUG macro.
    Jay Berkenbilt authored
    2022-05-03 18:31:22 -0400  
    Browse Dir »

01 May, 2022
2 commits
  • Add reactors to the JSON parser
    8d2a0eda
    Jay Berkenbilt authored
    2022-05-01 19:55:52 -0400  
    Browse Dir »
  • Spell check
    e34dbbfa
    Jay Berkenbilt authored
    2022-05-01 12:56:22 -0400  
    Browse Dir »

30 Apr, 2022
4 commits
  • Mark weak encryption with API changes (fixes #576)
    8ccd3a8a
    Jay Berkenbilt authored
    2022-04-30 17:24:15 -0400  
    Browse Dir »
  • Remove deprecated (pre-8.4.0) encryption APIs
    2213ed0c
    Jay Berkenbilt authored
    2022-04-30 17:23:58 -0400  
    Browse Dir »
  • Add comments around non-security-related uses of MD5
    ce19471f
    Jay Berkenbilt authored
    2022-04-30 14:15:07 -0400  
    Browse Dir »
  • Revert "Remove QPDFObjectHandle::replaceOrRemoveKey" ...
    c365a26e
    This reverts commit dc059560e73e0b373a6e54e71b07e3af4b692cb4.
    
    I changed my mind. There's no harm in leaving it deprecated for a
    release cycle.
    Jay Berkenbilt authored
    2022-04-30 14:15:07 -0400  
    Browse Dir »