summaryrefslogtreecommitdiffstats
path: root/examples/accesslibplist.py
blob: e7b6348a7f7464974099682ab638375f9dda9c95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python3
'Demo script for accessing fields in lib.plist'
__url__ = 'https://github.com/silnrsi/pysilfont'
__copyright__ = 'Copyright (c) 2017 SIL International (https://www.sil.org)'
__license__ = 'Released under the MIT License (https://opensource.org/licenses/MIT)'
__author__ = 'David Raymond'

from silfont.core import execute

argspec = [
    ('ifont', {'help': 'Input font file'}, {'type': 'infont'}),
    ('field', {'help': 'field to access'},{})]

def doit(args):
    font = args.ifont
    field = args.field
    lib = font.lib

    if field in lib:
        val = lib.getval(field)
        print
        print val
        print
        print "Field " + field + " is type " + lib[field][1].tag + " in xml"

        print "The retrieved value is " + str(type(val)) + " in Python"
    else:
            print "Field not in lib.plist"

    return


def cmd(): execute("UFO", doit, argspec)
if __name__ == "__main__": cmd()