Skip to content

Commit

Permalink
add kGSR expansion
Browse files Browse the repository at this point in the history
  • Loading branch information
tony committed May 27, 2017
1 parent 217bb38 commit 8f28b30
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
31 changes: 31 additions & 0 deletions tests/test_expansion.py
Original file line number Diff line number Diff line change
Expand Up @@ -756,3 +756,34 @@ def test_expand_kIRG_KPSource(expanded_data, field, ucn, fieldval, expected):
assert item[field] == expected

assert expansion.expand_field(field, fieldval) == expected


@pytest.mark.parametrize("ucn,fieldval,expected", [
# U+340C kGSR 0004f
("U+340C", "0004f", [{
"set": 4,
"letter": "f",
"apostrophe": False
}]),
# U+371D kGSR 0651k'
("U+371D", "0651k'", [{
"set": 651,
"letter": "k",
"apostrophe": True
}]),
# U+9AE2 kGSR 0004e' 0850s
("U+9AE2", "0004e' 0850s", [{
"set": 4,
"letter": "e",
"apostrophe": True
}, {
"set": 850,
"letter": "s",
"apostrophe": False
}]),
])
def test_expand_kGSR(expanded_data, ucn, fieldval, expected):
item = [i for i in expanded_data if i['ucn'] == ucn][0]
assert item['kGSR'] == expected

assert expansion.expand_field('kGSR', fieldval) == expected
11 changes: 11 additions & 0 deletions unihan_etl/expansion.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,17 @@ def _expand_kIRG_GenericSource(value):
expand_kIRG_VSource = _expand_kIRG_GenericSource


def expand_kGSR(value):
for i, v in enumerate(value):
vre = re.split(r'([0-9]{4})([a-vx-z])(\')?', v)
value[i] = {
"set": int(vre[1]),
"letter": vre[2],
"apostrophe": vre[3] == "'"
}
return value


def expand_field(field, fvalue):
"""Return structured value of information in UNIHAN field.
Expand Down

0 comments on commit 8f28b30

Please sign in to comment.