from aiohttp import web import utils.web import utils.text from extend.hangul_romanize import Transliter from extend.hangul_romanize.rule import academic class Hanja: @staticmethod def convertToRomaja(self, hanja: str): transliter = Transliter(academic) segList = utils.text.splitAscii(hanja) sentenceList = [] for seg in segList: if seg == " ": sentenceList.append("-") elif utils.text.isAscii(seg): if utils.text.isAsciiPunc(seg): sentenceList.append(seg) else: sentenceList.append([seg]) else: roma = transliter.translit(seg) sentenceList.append(roma.split(" ")) return sentenceList @staticmethod async def hanja2roma(request: web.Request): params = await utils.web.get_param(request, { "sentence": { "required": True, }, }) sentence = params.get('sentence') data = Hanja.convertToRomaja(sentence) return await utils.web.api_response(1, data, request=request)