• Update getJSON() methods and calls to them
    Jay Berkenbilt authored
     
    Browse Dir »
  • 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))
    ----------
    Jay Berkenbilt authored
     
    Browse Dir »
  • 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
     
    Browse Dir »
  • Jay Berkenbilt authored
     
    Browse Dir »
  • 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
     
    Browse Dir »
  • Testing json against schema requires an in-memory copy, so do it only
    when requested by the test suite.
    Jay Berkenbilt authored
     
    Browse Dir »
  • Jay Berkenbilt authored
     
    Browse Dir »