to_passive_voice / modules /m_connector.py
nanom's picture
Minors fixes
e7339fb
raw
history blame
1.12 kB
from typing import Tuple
from modules.m_active_voice import ActiveVoice
from modules.m_htmlrender import HtmlRender
class Connector:
def __init__(
self
) -> None:
self.avoice = ActiveVoice()
self.html = HtmlRender()
def active2passive(
self,
sentence: str
) -> Tuple[str,str]:
try:
data = self.avoice.to_passive(sentence)
except Exception as e:
return self.html.error(str(e)), str(e)
subj = self.html.budget(data['subj'], 'subject', 'primary')
tobe = self.html.budget(data['tobe'],'to be','warning')
participle = self.html.budget(data['participle'],'participle','danger')
agent = self.html.budget(data['agent'],'agent','success')
compl = self.html.budget(data['compl'],'compl.','dark')
string_format = f"{data['subj']} {data['tobe']} {data['participle']} {data['agent']} {data['compl']}"
html_format = self.html.output(f"{subj} {tobe} {participle} {agent} {compl}")
return html_format, string_format