35 lines
941 B
Python
35 lines
941 B
Python
|
#!/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()
|