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_pasive(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