galuhalifani commited on
Commit
b7d464c
·
1 Parent(s): db9738d

modify is feedback message

Browse files
Files changed (1) hide show
  1. src/handler.py +21 -4
src/handler.py CHANGED
@@ -40,17 +40,19 @@ def normalize(text):
40
 
41
  def is_feedback_message(text: str) -> bool:
42
  cleaned = normalize(text)
43
- return any(cleaned.startswith(keyword) for keyword in FEEDBACK_KEYWORDS)
 
44
 
45
  def extract_feedback_content(raw_message: str) -> dict:
46
  cleaned = normalize(raw_message)
47
 
 
48
  for keyword in FEEDBACK_KEYWORDS:
49
- if cleaned.startswith(keyword):
50
- remaining = cleaned[len(keyword):].strip()
51
  return {"feedback": keyword, "comment": remaining}
52
 
53
- return {"feedback": None, "comment": raw_message}
54
 
55
  def save_feedback(feedback_obj: dict, last_qna: dict) -> str:
56
  feedback_data = {
@@ -78,3 +80,18 @@ def translate_answer(question, answer):
78
  return translated
79
  else:
80
  return answer
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
  def is_feedback_message(text: str) -> bool:
42
  cleaned = normalize(text)
43
+ all_feedback_keywords = translate_list(text, FEEDBACK_KEYWORDS)
44
+ return any(cleaned.startswith(keyword) for keyword in all_feedback_keywords)
45
 
46
  def extract_feedback_content(raw_message: str) -> dict:
47
  cleaned = normalize(raw_message)
48
 
49
+ feedback = GoogleTranslator(source='auto', target='en').translate(cleaned) if detect(cleaned) != 'en' else cleaned
50
  for keyword in FEEDBACK_KEYWORDS:
51
+ if feedback.startswith(keyword):
52
+ remaining = feedback[len(keyword):].strip()
53
  return {"feedback": keyword, "comment": remaining}
54
 
55
+ return {"feedback": None, "comment": feedback}
56
 
57
  def save_feedback(feedback_obj: dict, last_qna: dict) -> str:
58
  feedback_data = {
 
80
  return translated
81
  else:
82
  return answer
83
+
84
+ def translate_list(question, list_of_answers):
85
+ if len(question) < 3:
86
+ return list_of_answers
87
+
88
+ detected_lang_question = detect(question)
89
+
90
+ translated = []
91
+ if detected_lang_question != 'en':
92
+ for a in list_of_answers:
93
+ answer = GoogleTranslator(source='auto', target=detected_lang_question).translate(a)
94
+ translated.append(answer)
95
+ return translated
96
+ else:
97
+ return list_of_answers