Skip to content

Commit

Permalink
Merge pull request #64 from i3thuan5/bēsiah有詞
Browse files Browse the repository at this point in the history
2.1.4-袂使有詞
  • Loading branch information
sih4sing5hong5 authored Apr 13, 2021
2 parents 50b26ad + 84e8250 commit 8d410a9
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 26 deletions.
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ deps =
django
coverage
commands =
coverage run --source=用字 manage.py test
coverage run --source=用字 manage.py test {posargs}


[testenv:flake8]
Expand Down
2 changes: 1 addition & 1 deletion 版本.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# -*- coding: utf-8 -*-
版本 = '2.1.3'
版本 = '2.1.4'
1 change: 1 addition & 0 deletions 用字/apps.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@

class 用字Config(AppConfig):
name = '用字'
default_auto_field = 'django.db.models.AutoField'
18 changes: 18 additions & 0 deletions 用字/migrations/0003_alter_用字表_分詞.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 3.2 on 2021-04-13 02:32

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('用字', '0002_用字管理表'),
]

operations = [
migrations.AlterField(
model_name='用字表',
name='分詞',
field=models.CharField(blank=True, max_length=20),
),
]
16 changes: 12 additions & 4 deletions 用字/models.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from 臺灣言語工具.解析整理.解析錯誤 import 解析錯誤
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
from django.db import models
from django.core.exceptions import ValidationError
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 用字 import 字典
from 用字 import 建議
Expand All @@ -8,7 +10,7 @@
class 用字表(models.Model):
漢字 = models.CharField(max_length=5)
羅馬字 = models.CharField(max_length=15)
分詞 = models.CharField(max_length=20)
分詞 = models.CharField(max_length=20, blank=True)
_用字ê範圍 = 建議.全部分詞()

@classmethod
Expand All @@ -21,16 +23,22 @@ def 有這个字無(cls, 字物件):
return True
return cls.objects.filter(分詞=字分詞).exists()

def save(self, *args, **kwargs):
def clean(self):
# 提掉舊的輕聲規範
羅馬字 = self.羅馬字.lstrip('0')
try:
詞物件 = 拆文分析器.對齊詞物件(self.漢字, 羅馬字)
except 解析錯誤:
raise ValidationError('漢羅ài攏是一ê字')
if len(詞物件.篩出字物件()) > 1:
raise ValidationError('漢羅ài攏是一ê字')
字臺羅物件 = (
拆文分析器.對齊字物件(self.漢字, 羅馬字)
詞物件.篩出字物件()[0]
.轉音(臺灣閩南語羅馬字拼音)
)
字臺羅物件.輕聲標記 = False
self.分詞 = 字臺羅物件.看分詞()
super(用字表, self).save(*args, **kwargs)
super().clean()

@classmethod
def 這馬(cls):
Expand Down
41 changes: 23 additions & 18 deletions 試驗/用字表/test用字表試驗.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from 臺灣言語工具.解析整理.解析錯誤 import 解析錯誤
from 用字.models import 用字表

from django.test.testcases import TestCase
from django.core.exceptions import ValidationError
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from unittest.case import skip


class 用字表試驗(TestCase):
Expand All @@ -15,60 +15,65 @@ def test_無加字(self):
def test_加一字(self):
= '媠'
= 'khiáu'
用字表.objects.create(漢字=, 羅馬字=)
用字表create(漢字=, 羅馬字=)
self.assertTrue(用字表.有這个字無(拆文分析器.對齊字物件(, )))

def test_數字調(self):
= '媠'
= 'khiau2'
用字表.objects.create(漢字=, 羅馬字=)
用字表create(漢字=, 羅馬字=)
self.assertTrue(用字表.有這个字無(拆文分析器.對齊字物件(, )))

def test_大寫(self):
= '媠'
= 'Khiáu'
用字表.objects.create(漢字=, 羅馬字=)
用字表create(漢字=, 羅馬字=)
self.assertTrue(用字表.有這个字無(拆文分析器.對齊字物件(, )))

@skip('愛佇台灣言語工具#620做好')
def test_足濟字(self):
= '媠媠'
= 'khiáu-khiáu'
with self.assertRaises(解析錯誤):
用字表.objects.create(漢字=, 羅馬字=)
def test_一定àithinn字bēsái詞(self):
= '符合'
= 'hù-ha̍p'
with self.assertRaises(ValidationError):
用字表(漢字=, 羅馬字=).full_clean()

def test_加符號(self):
= '~'
= '―'
用字表.objects.create(漢字=, 羅馬字=)
用字表create(漢字=, 羅馬字=)
self.assertTrue(用字表.有這个字無(拆文分析器.對齊字物件(, )))

def test_輕聲符(self):
用字表.objects.create(漢字='媠', 羅馬字='--khiáu')
用字表create(漢字='媠', 羅馬字='--khiáu')
self.assertTrue(用字表.有這个字無(
拆文分析器.對齊字物件('媠', '--khiáu')))

def test_輕聲符2(self):
用字表.objects.create(漢字='媠', 羅馬字='--khiáu')
用字表create(漢字='媠', 羅馬字='--khiáu')
self.assertTrue(用字表.有這个字無(
拆文分析器.對齊字物件('媠', 'khiáu')))

def test_輕聲符4(self):
用字表.objects.create(漢字='媠', 羅馬字='khiáu')
用字表create(漢字='媠', 羅馬字='khiáu')
self.assertTrue(用字表.有這个字無(
拆文分析器.對齊字物件('媠', '--khiáu')))

def test_0輕聲符(self):
用字表.objects.create(漢字='媠', 羅馬字='0khiáu')
用字表create(漢字='媠', 羅馬字='0khiáu')
self.assertTrue(用字表.有這个字無(
拆文分析器.對齊字物件('媠', '0khiáu')))

def test_0輕聲符2(self):
用字表.objects.create(漢字='媠', 羅馬字='0khiáu')
用字表create(漢字='媠', 羅馬字='0khiáu')
self.assertTrue(用字表.有這个字無(
拆文分析器.對齊字物件('媠', 'khiáu')))

def test_0輕聲符4(self):
用字表.objects.create(漢字='媠', 羅馬字='khiáu')
用字表create(漢字='媠', 羅馬字='khiáu')
self.assertTrue(用字表.有這个字無(
拆文分析器.對齊字物件('媠', '0khiáu')))


def 用字表create(漢字, 羅馬字):
ji = 用字表(漢字=漢字, 羅馬字=羅馬字)
ji.full_clean()
ji.save()
5 changes: 3 additions & 2 deletions 試驗/用字表/test這馬表試驗.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
from 用字.models import 用字表
from django.test.testcases import TestCase
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 試驗.用字表.test用字表試驗 import 用字表create


class 這馬表試驗(TestCase):

def test_有加著字(self):
= '媠'
= 'khiáu'
用字表.objects.create(漢字=, 羅馬字=)
用字表create(漢字=, 羅馬字=)
self.assertTrue(用字表.這馬().有這个字無(拆文分析器.對齊字物件(, )))

def test_提出來了後就bôtshap資料庫有加著字(self):
= '媠'
= 'khiáu'
= 用字表.這馬()
用字表.objects.create(漢字=, 羅馬字=)
用字表create(漢字=, 羅馬字=)
self.assertFalse(.有這个字無(拆文分析器.對齊字物件(, )))

0 comments on commit 8d410a9

Please sign in to comment.