def demo(self, ui): ui.message("===== Demo Mode =====") ui.message("Running a small demo/testing!") ui.message("--- Encrypting ---") ui.message("Data to encrypt: {}\n".format("Hello Wolrd !")) ui.message("Braille encrypted data: {}" "".format(braille.encrypt("Hello Wolrd !"))) htext = "13457 24 14 15 2345 15 234 2345 6 24 234 1345 3457 2345 " \ "24 2345 168 1456" ui.message("--- Deciphering ---") ui.message("Braille text used as input: {}".format(htext)) ui.message("The deciphered data is: {}" "".format(braille.decipher(htext))) ui.message("--- Won’t work ---") ui.message("+ The input text to encrypt must be cp1252 (Windows " "8bit occidental charset) chars only:") ui.message("Data to encrypt: {}\n".format("Japanese : 日本の")) try: ui.message("Braille encrypted data: {}" "".format(braille.encrypt("Japanese : 日本の"))) except Exception as e: ui.message(str(e), ui.ERROR) ui.message("+ The input text to decipher must be valid Braille " "us-437 codes only:") htext = "13447 24 14 15 2345 15 234 2345 6 24 234 1345 3457 2345 " \ "24 2345 1778 1456" ui.message("Braille text used as input: {}".format(htext)) try: ui.message("The deciphered data is: {}" "".format(braille.decipher(htext))) except Exception as e: ui.message(str(e), ui.ERROR) ui.get_choice("", [("", "Go back to *menu", "")], oneline=True)
def encrypt(self, ui): """Interactive version of encrypt().""" txt = "" ui.message("===== Encrypt Mode =====") while 1: done = False while 1: txt = ui.text_input("Text to encrypt to Braille") if txt is None: break # Go back to main Encrypt menu. try: # Will also raise an exception if data is None. txt = braille.encrypt(txt) done = True # Out of those loops, output result. break except Exception as e: print(e) options = [("retry", "*try again", ""), ("menu", "or go back to *menu", "")] answ = ui.get_choice( "Could not convert that data into " "Braille, please", options, oneline=True) if answ in {None, "menu"}: return # Go back to main Sema menu. # Else, retry with another data to hide. if done: ui.text_output("Text successfully converted", txt, "Braille version of text") options = [("redo", "*encrypt another text", ""), ("quit", "or go back to *menu", "")] answ = ui.get_choice("Do you want to", options, oneline=True) if answ in {None, "quit"}: return
def encrypt(self, ui): """Interactive version of encrypt().""" txt = "" ui.message("===== Encrypt Mode =====") while 1: done = False while 1: txt = ui.text_input("Text to encrypt to Braille") if txt is None: break # Go back to main Encrypt menu. try: # Will also raise an exception if data is None. txt = braille.encrypt(txt) done = True # Out of those loops, output result. break except Exception as e: print(e) options = [("retry", "*try again", ""), ("menu", "or go back to *menu", "")] answ = ui.get_choice("Could not convert that data into " "Braille, please", options, oneline=True) if answ in {None, "menu"}: return # Go back to main Sema menu. # Else, retry with another data to hide. if done: ui.text_output("Text successfully converted", txt, "Braille version of text") options = [("redo", "*encrypt another text", ""), ("quit", "or go back to *menu", "")] answ = ui.get_choice("Do you want to", options, oneline=True) if answ in {None, "quit"}: return