def test_03(self): j_chat = KhalaChat.Builder.text2h("?ㄱㅇㅍ 리스본") j_packet = KhalaPacket.j_chat2j_packet(j_chat) hyp = Handler.j_packet2action(j_packet) ref = TradegoodAction self.assertEqual(hyp, ref)
def port_entity2response( cls, port_entity, j_packet, ): query = EntityTool.F.entity2text(port_entity) j_port = PortEntity.query2j_doc(query) #j_culture = PortDocument.F.j_port2j_culture(j_port) locale = KhalaPacket.j_packet2locale(j_packet) lang = LocaleTool.locale2lang(locale) filepath = os.path.join(FILE_DIR, "port.port.tmplt.txt") j_data = { "port_collection_name": PortCollection.lang2name(lang), "port_name": PortDocument.j_port_lang2name(j_port, lang), "culture_collection_name": "n/a", #CultureCollection.lang2name(lang), "culture_name": "n/a", #CultureDocument.F.j_culture_lang2name(j_culture, lang), "port_status_collection_name": "n/a", #PortStatusCollection.lang2name(lang), "port_status": "n/a", #None, } str_out = Jinja2Toolkit.tmplt_file2str(filepath, j_data) return str_out
def test_02(self): j_chat = KhalaChat.Builder.text2h("?port 리스본") j_packet = KhalaPacket.j_chat2j_packet(j_chat) hyp = Handler.j_packet2action(j_packet) ref = PortAction self.assertEqual(hyp, ref)
def post(cls, packet): j_packet = packet jinni_uuid = KhalaPacket.j_packet2jinni_uuid(j_packet) if not cls.jinni_uiud2is_matched(jinni_uuid): return "Invalid jinni_uuid ({})".format(jinni_uuid), 400 action = cls.j_packet2action(j_packet) j_response = action.respond(j_packet) return j_response, 200
def respond(cls, j_packet): from henrique.main.action.tradegood.subaction.tradegood_subactions import TradegoodTradegoodSubaction j_chat = KhalaPacket.j_packet2j_chat(j_packet) text = KhalaChat.j_chat2text(j_chat) tradegood_entity_list = TradegoodEntity.str2entity_list(text) str_list = lmap(lambda p:TradegoodTradegoodSubaction.tradegood_entity2response(p,j_packet), tradegood_entity_list) str_out = "\n\n".join(str_list) return KhalaResponse.Builder.str2j_response(str_out)
def j_packet2action(cls, j_packet): j_chat = KhalaPacket.j_packet2j_chat(j_packet) text_body = KhalaChat.j_chat2text_body(j_chat) # l = str2split(text_body) if not text_body: return None action_list = [PortAction, TradegoodAction] action_list_matched = lfilter(lambda x: x.text_body2match(text_body), action_list) if not action_list_matched: return None if len(action_list_matched) > 1: return None return action_list_matched[0]
def respond(cls, j_packet): from henrique.main.action.port.subaction.port_subactions import PortPortSubaction j_chat = KhalaPacket.j_packet2j_chat(j_packet) text = KhalaChat.j_chat2text(j_chat) port_entity_list = PortEntity.str2entity_list(text) str_list = lmap( lambda p: PortPortSubaction.port_entity2response(p, j_packet), port_entity_list) str_out = "\n\n".join(str_list) return KhalaResponse.Builder.str2j_response(str_out)
def tradegood_entity2response( cls, tg_entity, j_packet, ): query = EntityTool.F.entity2text(tg_entity) j_tradegood = TradegoodEntity.query2j_doc(query) #j_culture = TradegoodDocument.F.j_tradegood2j_culture(j_tradegood) locale = KhalaPacket.j_packet2locale(j_packet) lang = LocaleTool.locale2lang(locale) filepath = os.path.join(FILE_DIR, "tradegood.tradegood.tmplt.txt") j_data = { "tradegood_collection_name": TradegoodCollection.lang2name(lang), "tradegood_name": TradegoodDocument.j_tradegood_lang2name(j_tradegood, lang), } str_out = Jinja2Toolkit.tmplt_file2str(filepath, j_data) return str_out