1
0
Fork 0
pysilfont/examples/accesslibplist.py

35 lines
941 B
Python
Raw Normal View History

#!/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()