Skip to content

Commit

Permalink
add support for kCantonese
Browse files Browse the repository at this point in the history
  • Loading branch information
tony committed Jun 5, 2017
1 parent 69ff98a commit d169338
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
9 changes: 7 additions & 2 deletions tests/test_bootstrap.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf8 - *-

from unihan_db import bootstrap
from unihan_db.tables import Unhn, kDefinition, Base
from unihan_db.tables import Unhn, kDefinition, kCantonese, Base


def test_reflect_db(tmpdb_file, unihan_options, metadata):
Expand Down Expand Up @@ -37,9 +37,14 @@ def test_import_unihan_raw(zip_file, session, engine, unihan_options):
assert session.query(Unhn).filter_by(char=u'㐀').one().ucn == 'U+3400'

for char in data:
c = session.query(Unhn).filter_by(ucn=char['ucn']).one()

if 'kDefinition' in char:
c = session.query(Unhn).filter_by(ucn=char['ucn']).one()
for defi in char['kDefinition']:
c.kDefinition.append(kDefinition(definition=defi))
assert len(c.kDefinition) == len(char['kDefinition'])
if 'kCantonese' in char:
for defi in char['kCantonese']:
c.kCantonese.append(kCantonese(definition=defi))
assert len(c.kCantonese) == len(char['kCantonese'])
session.commit()
10 changes: 10 additions & 0 deletions unihan_db/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ class Unhn(Base):
type = Column(String(24))

kDefinition = relationship("kDefinition", back_populates="char")
kCantonese = relationship("kCantonese", back_populates="char")


class kDefinition(Base):
Expand All @@ -51,3 +52,12 @@ class kDefinition(Base):
definition = Column(String(128))

char = relationship("Unhn")


class kCantonese(Base):
__tablename__ = 'kCantonese'
id = Column(Integer, primary_key=True)
char_id = Column(Integer, ForeignKey('Unhn.id'))
definition = Column(String(128))

char = relationship("Unhn")

0 comments on commit d169338

Please sign in to comment.