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)) 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') return self.html.output(f"{subj} {tobe} {participle} {agent} {compl}")