def demo(self, ui): ui.message("===== Demo Mode =====") ui.message("Running a small demo/testing!") text = "“Mes souvenirs sont comme les pistoles dans la bourse du " \ "diable. Quand on l’ouvrit, on n’y trouva que des feuilles " \ "mortes. J’ai beau fouiller le passé je n’en retire plus que " \ "des bribes d’images et je ne sais pas très bien ce qu’elles " \ "représentent, ni si ce sont des souvenirs ou des fictions.” " \ "– extrait de « La nausée » de Jean-Paul Sartre." marker = self.marker ui.message("--- Hiding ---") data = "comix" ui.message("Text used as source (input file): {}".format(text)) ui.message("Data to hide: {}\n".format(data)) ui.message("Text with hidden data (output file): {}" "".format(sema.hide(text, data, marker, 0))) ui.message("") htext = "“Mes s" + marker + "ouvenirs sont comme les pistoles dans " \ "la bourse du di" + marker + "able. Quand on l’ouvrit, on " \ "n’y trouva que des feuilles mo" + marker + "rtes. J’ai " \ "beau fouiller le passé je n’en retire plus que des bribes " \ "d’im" + marker + "ages et je ne sais pas très bien ce " \ "qu’elles représentent, ni si ce sont des sou" + marker + \ "venirs ou des fictions.” – extrait de « La nausée » de " \ "Jean-Paul Sar" + marker + "tre." ui.message("--- Unhiding ---") ui.message("Text used as source (input file): {}".format(htext)) ui.message("The hidden data is: {}" "".format(sema.unhide(htext, marker, 0))) ui.message("--- Won’t work ---") ui.message("+ The letters to hide must be present in the input text:") data = "zowix" ui.message("Text used as source (input file): {}".format(text)) ui.message("Data to hide: {}".format(data)) try: ui.message("Text with hidden data (output file): {}" "".format(sema.hide(text, data, marker, 0))) except Exception as e: ui.message(str(e), level=ui.ERROR) ui.message("+ The input text must be long enough for the given data " "to hide (at least 40 times):") data = "This is quite a long boring sentence" ui.message("Data to hide: {}".format(data)) try: ui.message("Text with hidden data (output file): {}" "".format(sema.hide(text, data, marker, 0))) except Exception as e: ui.message(str(e), level=ui.ERROR) ui.get_choice("", [("", "Go back to $menu", "")], oneline=True)
def demo(self, ui): ui.message("===== Demo Mode =====") ui.message("Running a small demo/testing!") text = "“Mes souvenirs sont comme les pistoles dans la bourse du " \ "diable. Quand on l’ouvrit, on n’y trouva que des feuilles " \ "mortes. J’ai beau fouiller le passé je n’en retire plus que " \ "des bribes d’images et je ne sais pas très bien ce qu’elles " \ "représentent, ni si ce sont des souvenirs ou des fictions.” " \ "– extrait de « La nausée » de Jean-Paul Sartre." marker = self.marker ui.message("--- Hiding ---") ui.message("Text used as source (input file): {}".format(text)) ui.message("Data to hide: {}\n".format("comix")) ui.message("Text with hidden data (output file): {}" "".format(sema.hide(text, "comix", marker, 0))) ui.message("") htext = "“Mes s" + marker + "ouvenirs sont comme les pistoles dans " \ "la bourse du di" + marker + "able. Quand on l’ouvrit, on " \ "n’y trouva que des feuilles mo" + marker + "rtes. J’ai " \ "beau fouiller le passé je n’en retire plus que des bribes " \ "d’im" + marker + "ages et je ne sais pas très bien ce " \ "qu’elles représentent, ni si ce sont des sou" + marker + \ "venirs ou des fictions.” – extrait de « La nausée » de " \ "Jean-Paul Sar" + marker + "tre." ui.message("--- Unhiding ---") ui.message("Text used as source (input file): {}".format(htext)) ui.message("The hidden data is: {}" "".format(sema.unhide(htext, marker, 0))) ui.message("--- Won’t work ---") ui.message("+ The letters to hide must be present in the input text:") ui.message("Text used as source (input file): {}".format(text)) ui.message("Data to hide: {}".format("zowix")) try: ui.message("Text with hidden data (output file): {}" "".format(sema.hide(text, "zowix", marker, 0))) except Exception as e: ui.message(str(e), ui.ERROR) ui.message("+ The input text must be long enough for the given data " "to hide (at least 40 times):") ui.message("Data to hide: {}" "".format("This is quite a long boring sentence")) try: ui.message("Text with hidden data (output file): {}" "".format( sema.hide(text, "This is quite a long boring " "sentence", marker, 0))) except Exception as e: ui.message(str(e), ui.ERROR) ui.get_choice("", [("", "Go back to *menu", "")], oneline=True)
def hide(self, ui): """Interactive version of hide().""" txt = "" ui.message("===== Hide Mode =====") while 1: done = False while not done: txt = ui.text_input("Text into which hide data") if txt is None: break # Go back to main Hide menu. while 1: data = ui.text_input("Data to hide into the text") try: # Will also raise an exception if data is None. txt = sema.hide(txt, data, self.marker, 0) 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", ""), ("file", "choose another *input file", ""), ("menu", "or go back to *menu", "")] msg = "Could not hide that data into the given " \ "text, please" answ = ui.get_choice(msg, options, oneline=True) if answ == "file": break # Go back to input file selection. elif answ in {None, "menu"}: return # Go back to main Sema menu. # Else, retry with another data to hide. if done: ui.text_output("Data successfully hidden", txt, "Text with hidden data") options = [("redo", "*hide another data", ""), ("quit", "or go back to $menu", "")] answ = ui.get_choice("Do you want to", options, oneline=True) if answ in {None, "quit"}: return