Loading allzweckmesser/model.py +47 −8 Original line number Diff line number Diff line Loading @@ -108,6 +108,21 @@ class Syllable: return json.dumps(self.to_dict()) def __repr__(self): return ( 'Syllable(text={s.text!r}, span={s.span!r}, id={s.id!r},' ' syllable_length={s.syllable_length!r},' ' vowel_length={s.vowel_length!r},' ' phenomena={s.phenomena!r})' ).format(s=self) def __str__(self): return ( 'Syllable(text={s.text!r}, syllable_length={s.syllable_length},' ' vowel_length={s.vowel_length})' ).format(s=self) class Phenomenon: def __init__(self, caused_by=None, overruled_by=None, Loading Loading @@ -187,6 +202,14 @@ class Phenomenon: return json.dumps(self.to_dict()) def __repr__(self): return ( 'Phenomenon(caused_by={p.caused_by!r},' ' overruled_by={p.overruled_by!r}, chars={p.chars!r},' ' typus={p.typus!r}, omitted={p.omitted!r})' ).format(p=self) class MultisyllablePhenomenon(Phenomenon): def __init__(self, beginning:int, end:int, caused_by=None, Loading Loading @@ -252,6 +275,14 @@ class MultisyllablePhenomenon(Phenomenon): return json.dumps(self.to_dict()) def __repr__(self): return ( 'MultiSyllablePhenomenon(caused_by={p.caused_by!r},' ' overruled_by={p.overruled_by!r}, chars={p.chars!r},' ' typus={p.typus!r}, omitted={p.omitted!r},' ' beginning={p.beginning!r}, end={p.end!r})' ).format(p=self) class Token: Loading Loading @@ -309,13 +340,16 @@ class Token: def is_punct(self): return bool(re.match('^[\W_]+$', self.text)) def __repr__(self): return ( 'Token(token={t.text!r}, span={t.span!r},' ' syllables={t.syllables!r}, clitic={t.clitic!r},' ' accented={t.accented!r})' ).format(t=self) def __str__(self): return self.text def __repr__(self): return ('Token(token={}, span={}, syllables={})' .format(self.text, self.span, self.syllables)) class Reading: Loading Loading @@ -378,6 +412,10 @@ class Reading: def append_token(self, token: Token): self.tokens.append(token) def __repr__(self): return ('Reading(tokens={r.tokens!r}, phenomena={t.phenomena!r})' .format(r=self)) def __str__(self): forms = [ t.accented if t.accented is not None else t.text Loading @@ -385,10 +423,6 @@ class Reading: ] return ' '.join(forms) def __repr__(self): # TODO: Implement this properly. return str(self) class Verse: Loading Loading @@ -437,6 +471,11 @@ class Verse: return json.dumps(self.to_dict()) def __repr__(self): return ( 'Verse(text={v.text!r}, source={v.source!r},' ' readings={v.readings!r})' ).format(v=self) def __str__(self): s = 'Verse: {verse}\n{reading_num} Readings:\n{readings}' Loading Loading
allzweckmesser/model.py +47 −8 Original line number Diff line number Diff line Loading @@ -108,6 +108,21 @@ class Syllable: return json.dumps(self.to_dict()) def __repr__(self): return ( 'Syllable(text={s.text!r}, span={s.span!r}, id={s.id!r},' ' syllable_length={s.syllable_length!r},' ' vowel_length={s.vowel_length!r},' ' phenomena={s.phenomena!r})' ).format(s=self) def __str__(self): return ( 'Syllable(text={s.text!r}, syllable_length={s.syllable_length},' ' vowel_length={s.vowel_length})' ).format(s=self) class Phenomenon: def __init__(self, caused_by=None, overruled_by=None, Loading Loading @@ -187,6 +202,14 @@ class Phenomenon: return json.dumps(self.to_dict()) def __repr__(self): return ( 'Phenomenon(caused_by={p.caused_by!r},' ' overruled_by={p.overruled_by!r}, chars={p.chars!r},' ' typus={p.typus!r}, omitted={p.omitted!r})' ).format(p=self) class MultisyllablePhenomenon(Phenomenon): def __init__(self, beginning:int, end:int, caused_by=None, Loading Loading @@ -252,6 +275,14 @@ class MultisyllablePhenomenon(Phenomenon): return json.dumps(self.to_dict()) def __repr__(self): return ( 'MultiSyllablePhenomenon(caused_by={p.caused_by!r},' ' overruled_by={p.overruled_by!r}, chars={p.chars!r},' ' typus={p.typus!r}, omitted={p.omitted!r},' ' beginning={p.beginning!r}, end={p.end!r})' ).format(p=self) class Token: Loading Loading @@ -309,13 +340,16 @@ class Token: def is_punct(self): return bool(re.match('^[\W_]+$', self.text)) def __repr__(self): return ( 'Token(token={t.text!r}, span={t.span!r},' ' syllables={t.syllables!r}, clitic={t.clitic!r},' ' accented={t.accented!r})' ).format(t=self) def __str__(self): return self.text def __repr__(self): return ('Token(token={}, span={}, syllables={})' .format(self.text, self.span, self.syllables)) class Reading: Loading Loading @@ -378,6 +412,10 @@ class Reading: def append_token(self, token: Token): self.tokens.append(token) def __repr__(self): return ('Reading(tokens={r.tokens!r}, phenomena={t.phenomena!r})' .format(r=self)) def __str__(self): forms = [ t.accented if t.accented is not None else t.text Loading @@ -385,10 +423,6 @@ class Reading: ] return ' '.join(forms) def __repr__(self): # TODO: Implement this properly. return str(self) class Verse: Loading Loading @@ -437,6 +471,11 @@ class Verse: return json.dumps(self.to_dict()) def __repr__(self): return ( 'Verse(text={v.text!r}, source={v.source!r},' ' readings={v.readings!r})' ).format(v=self) def __str__(self): s = 'Verse: {verse}\n{reading_num} Readings:\n{readings}' Loading