def demo(self, ui): ui.message("===== Demo Mode =====") ui.message("Running a small demo/testing!") ui.message("") ui.message("--- Cyphering ---") text = "snoworrain" ui.message("Data to cypher: {}".format(text)) out = triliteral.cypher(text) ui.message("Triliteral cyphered data: {}".format(out)) ui.message("") ui.message("--- Decyphering ---") htext = "CBAACCCAAACCCABCABACBABBACBAAAAACBABAAAABAABBBBACCAABABBC" \ "CABABCBCC" ui.message("Triliteral text used as input: {}".format(htext)) out = triliteral.decypher(htext) ui.message("The decyphered data is: {}".format(out)) ui.message("") ui.message("--- Note ---") ui.message("+ You can select another base than the default one " "(1, 'a' -> AAA). E.g. with a base 13:") text = "trytocypherthis" ui.message("Data to cypher: {}".format(text)) out = triliteral.cypher(text, 13) ui.message("Triliteral base 13 cyphered data: {}".format(out)) out = triliteral.decypher(out, 13) ui.message("The base 13 decyphered data is: {}".format(out)) ui.message("") ui.message("--- Won’t work ---") ui.message("+ The input text to cypher must be ASCII lowercase " "chars only:") ui.message("Data to cypher: {}\n".format("Hello World !")) try: out = triliteral.cypher("Hello World !") ui.message("Triliteral cyphered data: {}" "".format(out)) except Exception as e: ui.message(str(e), ui.ERROR) ui.message("") ui.message("+ The input text to decypher must be valid Triliteral:") htext = "AABCBBBAABABCCCCBBAACABACABCBAABACBAAAACCABABCCBACB" ui.message("Triliteral text used as input: {}".format(htext)) try: out = triliteral.decypher(htext) ui.message("Triliteral decyphered data: {}" "".format(out)) except Exception as e: ui.message(str(e), ui.ERROR) ui.message("") ui.get_choice("", [("", "Go back to *menu", "")], oneline=True)
def demo(self, ui): ui.message("===== Demo Mode =====") ui.message("Running a small demo/testing!") ui.message("") ui.message("--- Cyphering ---") text = "snoworrain" ui.message("Data to cypher: {}".format(text)) out = triliteral.cypher(text) ui.message("Triliteral cyphered data: {}".format(out)) ui.message("") ui.message("--- Decyphering ---") htext = "CBAACCCAAACCCABCABACBABBACBAAAAACBABAAAABAABBBBACCAABABBC" \ "CABABCBCC" ui.message("Triliteral text used as input: {}".format(htext)) out = triliteral.decypher(htext) ui.message("The decyphered data is: {}".format(out)) ui.message("") ui.message("--- Note ---") ui.message("+ You can select another base than the default one " "(1, 'a' -> AAA). E.g. with a base 13:") text = "trytocypherthis" ui.message("Data to cypher: {}".format(text)) out = triliteral.cypher(text, 13) ui.message("Triliteral base 13 cyphered data: {}".format(out)) out = triliteral.decypher(out, 13) ui.message("The base 13 decyphered data is: {}".format(out)) ui.message("") ui.message("--- Won’t work ---") ui.message("+ The input text to cypher must be ASCII lowercase " "chars only:") ui.message("Data to cypher: {}\n".format("Hello World !")) try: out = triliteral.cypher("Hello World !") ui.message("Triliteral cyphered data: {}" "".format(out)) except Exception as e: ui.message(str(e), level=ui.ERROR) ui.message("") ui.message("+ The input text to decypher must be valid Triliteral:") htext = "AABCBBBAABABCCCCBBAACABACABCBAABACBAAAACCABABCCBACB" ui.message("Triliteral text used as input: {}".format(htext)) try: out = triliteral.decypher(htext) ui.message("Triliteral decyphered data: {}" "".format(out)) except Exception as e: ui.message(str(e), level=ui.ERROR) ui.message("") ui.get_choice("", [("", "Go back to $menu", "")], oneline=True)
def cypher(self, ui): """Interactive version of cypher().""" txt = "" ui.message("===== Cypher Mode =====") while 1: done = False while 1: base = 1 txt = ui.text_input("Text to cypher to Triliteral", sub_type=ui.LOWER) if txt is None: break # Go back to main Cypher menu. t = ui.get_data("Cypher base (nothing to use default " "{} one): ".format(base), sub_type=ui.INT, allow_void=True) if t is not None: base = t try: # Will also raise an exception if data is None. txt = triliteral.cypher(txt, base) done = True # Out of those loops, output result. break except Exception as e: if utils.DEBUG: import traceback traceback.print_tb(sys.exc_info()[2]) ui.message(str(e), level=ui.ERROR) options = [("retry", "*try again", ""), ("menu", "or go back to *menu", "")] answ = ui.get_choice( "Could not convert that data into " "Biliteral, 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, "Triliteral base {} version of text" "".format(base)) options = [("redo", "*cypher 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 cypher(self, ui): """Interactive version of cypher().""" txt = "" ui.message("===== Cypher Mode =====") while 1: done = False while 1: base = 1 txt = ui.text_input("Text to cypher to Triliteral", sub_type=ui.LOWER) if txt is None: break # Go back to main Cypher menu. t = ui.get_data("Cypher base (nothing to use default " "{} one): ".format(base), sub_type=ui.INT, allow_void=True) if t is not None: base = t try: # Will also raise an exception if data is None. txt = triliteral.cypher(txt, base) done = True # Out of those loops, output result. break except Exception as e: if utils.DEBUG: import traceback traceback.print_tb(sys.exc_info()[2]) ui.message(str(e), level=ui.ERROR) options = [("retry", "*try again", ""), ("menu", "or go back to *menu", "")] answ = ui.get_choice("Could not convert that data into " "Biliteral, 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, "Triliteral base {} version of text" "".format(base)) options = [("redo", "*cypher 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