def create_field(self, field_info): keyword = field_info[0] field = None subclasses = get_all_subclasses(InfoField) for kls in get_all_subclasses(InfoField): if keyword == kls.keyword: field = kls(self, field_info[1:]) break return field
def create_field(self, field_info): keyword = field_info[0] field = None subclasses = get_all_subclasses(InfoField) print subclasses for kls in get_all_subclasses(InfoField): if keyword == kls.keyword: field = kls(self, field_info[1:]) break print field_info, field return field
def get_object(self, pick, x, y, c, dx, dy, addr): found = JumpmanDrawObject for kls in get_all_subclasses(JumpmanDrawObject): if kls.default_addr == addr: found = kls break return found(pick, x, y, c, dx, dy, addr)
def get_converters(): s = get_all_subclasses(ArgumentConverter) c = {} for cls in s: c[cls.stype] = cls() c[None] = ArgumentConverter() # Include default converter return c
def get_known_commands(): s = get_all_subclasses(Command) c = {} for cls in s: if cls.short_name is not None: c[cls.short_name] = cls return c