Mercurial > libervia-backend
comparison sat/plugins/plugin_exp_lang_detect.py @ 4022:cdb7de398c85
plugin lang detect: don't detect the language if the body is empty
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 23 Mar 2023 15:39:48 +0100 |
parents | be6d91572633 |
children | 524856bd7b19 |
comparison
equal
deleted
inserted
replaced
4021:412b99c29d83 | 4022:cdb7de398c85 |
---|---|
67 self.host = host | 67 self.host = host |
68 host.memory.updateParams(PARAMS) | 68 host.memory.updateParams(PARAMS) |
69 host.trigger.add("messageReceived", self.messageReceivedTrigger) | 69 host.trigger.add("messageReceived", self.messageReceivedTrigger) |
70 host.trigger.add("sendMessage", self.MessageSendTrigger) | 70 host.trigger.add("sendMessage", self.MessageSendTrigger) |
71 | 71 |
72 def addLanguage(self, mess_data): | 72 def add_language(self, mess_data): |
73 message = mess_data["message"] | 73 message = mess_data["message"] |
74 if len(message) == 1 and list(message.keys())[0] == "": | 74 if len(message) == 1 and list(message.keys())[0] == "": |
75 msg = list(message.values())[0] | 75 msg = list(message.values())[0].strip() |
76 lang = identifier.classify(msg)[0] | 76 if msg: |
77 mess_data["message"] = {lang: msg} | 77 lang = identifier.classify(msg)[0] |
78 mess_data["message"] = {lang: msg} | |
78 return mess_data | 79 return mess_data |
79 | 80 |
80 def messageReceivedTrigger(self, client, message_elt, post_treat): | 81 def messageReceivedTrigger(self, client, message_elt, post_treat): |
81 """ Check if source is linked and repeat message, else do nothing """ | 82 """ Check if source is linked and repeat message, else do nothing """ |
82 | 83 |
83 lang_detect = self.host.memory.getParamA( | 84 lang_detect = self.host.memory.getParamA( |
84 NAME, CATEGORY, profile_key=client.profile | 85 NAME, CATEGORY, profile_key=client.profile |
85 ) | 86 ) |
86 if lang_detect: | 87 if lang_detect: |
87 post_treat.addCallback(self.addLanguage) | 88 post_treat.addCallback(self.add_language) |
88 return True | 89 return True |
89 | 90 |
90 def MessageSendTrigger(self, client, data, pre_xml_treatments, post_xml_treatments): | 91 def MessageSendTrigger(self, client, data, pre_xml_treatments, post_xml_treatments): |
91 lang_detect = self.host.memory.getParamA( | 92 lang_detect = self.host.memory.getParamA( |
92 NAME, CATEGORY, profile_key=client.profile | 93 NAME, CATEGORY, profile_key=client.profile |
93 ) | 94 ) |
94 if lang_detect: | 95 if lang_detect: |
95 self.addLanguage(data) | 96 self.add_language(data) |
96 return True | 97 return True |