class Argument: def __init__(self, fields): self.ty = fields[0] self.nm = fields[1] self.flags = "" self.init = None if len(fields) > 2: if fields[2][0] == '/': self.flags = fields[2][1:].split(",") else: self.init = fields[2] def reader(apifile): api = [] for l in open(apifile): if l[0] == '#': continue l = l.rstrip() f = l.split() if len(f) != 0: if l[0] != ' ': if len(f) > 1: ty = f[1] else: ty = None api.append((f[0], [], ty)) else: api[-1][1].append(Argument(f)) return dict([(a, (ins, outs)) for (a, ins, outs) in api])