def __init__(self, possessor=None, selector=None, number=None, attributes=None, noun=None, rels_nargs=None): if attributes is None: attributes = [] if rels_nargs is None: rels_nargs = [] self.possessor = possessor if self.possessor: assert isinstance(self.possessor, DeepArgument) assert selector.is_definite() self.selector = selector assert isinstance(self.selector, Selector) self.number = number self.attributes = attributes assert isinstance(self.attributes, list) for s in self.attributes: assert s assert isinstance(s, basestring) self.noun = noun if self.noun: assert isinstance(self.noun, basestring) assert self.noun self.rels_nargs = rels_nargs for rel, arg in self.rels_nargs: assert Relation.is_valid(rel) assert isinstance(arg, DeepArgument)
def __init__(self, status=Status.ACTUAL, purpose=Purpose.INFO, is_intense=False, verb=None, adverbs=None, rel2xxx=None): if rel2xxx is None: rel2xxx = {} if adverbs is None: adverbs = [] self.status = status assert Status.is_valid(self.status) self.purpose = purpose assert Purpose.is_valid(self.purpose) self.is_intense = is_intense assert isinstance(self.is_intense, bool) self.verb = verb if self.verb: assert isinstance(self.verb, DeepVerb) self.adverbs = adverbs for s in self.adverbs: assert isinstance(s, basestring) self.rel2xxx = rel2xxx for rel, xxx in self.rel2xxx.iteritems(): assert Relation.is_valid(rel) assert isinstance(xxx, list) for xx in xxx: assert isinstance(xx, list) for x in xx: assert isinstance(x, int)
def __init__( self, query=None, name=None, gender=None, is_animate=None, attributes=None, kind=None, rel2xxx=None, carrying=None, ): if attributes is None: attributes = [] if rel2xxx is None: rel2xxx = {} if carrying is None: carrying = [] self.query = query if self.query: assert Query.is_valid(self.query) self.name = name if self.name is not None: assert self.name assert isinstance(self.name, tuple) self.gender = gender if self.gender: assert Gender.is_valid(self.gender) self.is_animate = is_animate if self.is_animate: assert isinstance(self.is_animate, bool) self.attributes = attributes assert isinstance(self.attributes, list) for s in self.attributes: assert s assert isinstance(s, basestring) self.kind = kind if self.kind: assert isinstance(self.kind, basestring) self.rel2xxx = rel2xxx for rel, xxx in self.rel2xxx.iteritems(): assert Relation.is_valid(rel) assert isinstance(xxx, list) for xx in xxx: assert isinstance(xx, list) for x in xx: assert isinstance(x, int) self.carrying = carrying for x in self.carrying: assert isinstance(x, int) self.location_history = LocationHistory()
def __init__(self, query=None, name=None, gender=None, is_animate=None, attributes=None, kind=None, rel2xxx=None, carrying=None): if attributes is None: attributes = [] if rel2xxx is None: rel2xxx = {} if carrying is None: carrying = [] self.query = query if self.query: assert Query.is_valid(self.query) self.name = name if self.name is not None: assert self.name assert isinstance(self.name, tuple) self.gender = gender if self.gender: assert Gender.is_valid(self.gender) self.is_animate = is_animate if self.is_animate: assert isinstance(self.is_animate, bool) self.attributes = attributes assert isinstance(self.attributes, list) for s in self.attributes: assert s assert isinstance(s, basestring) self.kind = kind if self.kind: assert isinstance(self.kind, basestring) self.rel2xxx = rel2xxx for rel, xxx in self.rel2xxx.iteritems(): assert Relation.is_valid(rel) assert isinstance(xxx, list) for xx in xxx: assert isinstance(xx, list) for x in xx: assert isinstance(x, int) self.carrying = carrying for x in self.carrying: assert isinstance(x, int) self.location_history = LocationHistory()
def __init__(self, status, purpose, is_intense, verb, adverbs, rels_vargs, subj_index): self.status = status assert Status.is_valid(self.status) self.purpose = purpose assert Purpose.is_valid(self.purpose) self.is_intense = is_intense assert isinstance(self.is_intense, bool) self.verb = verb assert isinstance(self.verb, DeepVerb) self.adverbs = adverbs for s in self.adverbs: assert isinstance(s, basestring) self.rels_vargs = rels_vargs assert isinstance(self.rels_vargs, list) for r, n in self.rels_vargs: assert Relation.is_valid(r) assert isinstance(n, DeepArgument) # There must be at least one argument. assert self.rels_vargs # Subject is guaranteed to exist, including imperatives where the "you" # is omitted in the surface structure. self.subj_index = subj_index assert isinstance(self.subj_index, int) assert 0 <= self.subj_index < len(self.rels_vargs) # If imperative, subject must be "you". if self.verb.modality.flavor == ModalFlavor.IMPERATIVE: subj = self.rels_vargs[self.subj_index][1] assert is_you(subj) # Subject must be able to be the subject; other args must not be able to # not be the subject. for i, (r, n) in enumerate(self.rels_vargs): res = n.arg_position_restriction() if i == self.subj_index: cant_be = ArgPosRestriction.NOT_SUBJECT else: cant_be = ArgPosRestriction.SUBJECT try: assert res != cant_be except: import json print json.dumps(self.dump(), indent=4, sort_keys=True) raise