You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
from aiohttp import web
|
|
import utils.web
|
|
import utils.text
|
|
from extend.kanji_to_romaji import kanji_to_romaji
|
|
|
|
class Kanji:
|
|
@staticmethod
|
|
def convertToRomaji(self, kanji: str):
|
|
segList = utils.text.splitAscii(kanji)
|
|
sentenceList = []
|
|
for seg in segList:
|
|
if utils.text.isAscii(seg):
|
|
if utils.text.isAsciiPunc(seg):
|
|
sentenceList.append(seg)
|
|
else:
|
|
sentenceList.append([seg])
|
|
else:
|
|
romaji = kanji_to_romaji(seg)
|
|
sentenceList.append(romaji.split(" "))
|
|
return sentenceList
|
|
|
|
@staticmethod
|
|
async def kanji2romaji(request: web.Request):
|
|
params = await utils.web.get_param(request, {
|
|
"sentence": {
|
|
"required": True,
|
|
},
|
|
})
|
|
sentence = params.get('sentence')
|
|
|
|
data = Kanji.convertToRomaji(sentence)
|
|
return await utils.web.api_response(1, data, request=request) |