class GESurveyPresenter(PresenterBase): def __init__(self, hideunused=False): PresenterBase.__init__(self) self.v = GEVisitor() def present(self, meta): self.v.visit(meta) self.validation = {} for ge in self.v.result: uv = UsedByVisitor(ge, ['USES', 'WILL USE', 'MAY USE'], se=True, app=True, experiment=False, transitive=False) uv.visit(meta) uve = set(uv.result) ses = [e for e in uve if e.entity == 'SE'] apps = [e for e in uve if e.entity == 'APP'] for se in ses: partner, contact = se.provider if not partner in self.validation: self.validation[partner] = { "contacts": set(), "GEs": set() } self.validation[partner]["contacts"].add(contact) self.validation[partner]["GEs"].add(ge) for app in apps: partner, contact = app.developer if not partner in self.validation: self.validation[partner] = { "contacts": set(), "GEs": set() } self.validation[partner]["contacts"].add(contact) self.validation[partner]["GEs"].add(ge) def dump(self, out): out.write('^ Partner ^ Contacts ^ GEs ^') partners = list(self.validation.keys()) partners.sort(key=lambda p: p.identifier) for partner in partners: val = self.validation[partner] contacts = list(val["contacts"]) contacts.sort(key=lambda p: p) ges = [ge.identifier for ge in val["GEs"]] ges.sort(key=lambda p: p) out.write('| %s | %s | %s |' % (partner.identifier, " \\\\ ".join(contacts), " \\\\ ".join(ges)))
class GESurveyPresenter(PresenterBase): def __init__(self, hideunused = False): PresenterBase.__init__(self) self.v = GEVisitor() def present(self, meta): self.v.visit(meta) self.validation = {} for ge in self.v.result: uv = UsedByVisitor(ge, ['USES', 'WILL USE', 'MAY USE'], se=True, app=True, experiment=False, transitive=False) uv.visit(meta) uve = set(uv.result) ses = [e for e in uve if e.entity == 'SE'] apps = [e for e in uve if e.entity == 'APP'] for se in ses: partner, contact = se.provider if not partner in self.validation: self.validation[partner] = {"contacts" : set(), "GEs" : set()} self.validation[partner]["contacts"].add(contact) self.validation[partner]["GEs"].add(ge) for app in apps: partner, contact = app.developer if not partner in self.validation: self.validation[partner] = {"contacts" : set(), "GEs" : set()} self.validation[partner]["contacts"].add(contact) self.validation[partner]["GEs"].add(ge) def dump(self, out): out.write('^ Partner ^ Contacts ^ GEs ^') partners = list(self.validation.keys()) partners.sort(key = lambda p: p.identifier) for partner in partners: val = self.validation[partner] contacts = list(val["contacts"]) contacts.sort(key = lambda p: p) ges = [ge.identifier for ge in val["GEs"]] ges.sort(key = lambda p: p) out.write('| %s | %s | %s |' % (partner.identifier, " \\\\ ".join(contacts), " \\\\ ".join(ges)))
def __init__(self, hideunused = False): PresenterBase.__init__(self) self.v = GEVisitor()
def __init__(self, hideunused=False): PresenterBase.__init__(self) self.v = GEVisitor()