zaklad poctiveho jakobsenova algoritmu
[krypto.git] / robot.py
index 7f651e1..79282fc 100755 (executable)
--- a/robot.py
+++ b/robot.py
@@ -79,7 +79,12 @@ if 'L' in opsny:
         posli_mail(odesilatel, "Omluva", "Omlouvam se,"
                    " ale Vase zprava uz bohuzel neni na serveru ulozena.\n")
         sys.exit()
-telo = mail.get_payload().strip()
+
+if mail.is_multipart():
+    telo = mail.get_payload(0).get_payload().strip()
+else:
+    telo = mail.get_payload().strip()
+
 if len(ocesat(telo, False)) < 2:
     posli_mail(odesilatel, "Omluva", "Omlouvam se,"
                    " ale Vase zprava je prilis kratka.\n")
@@ -142,14 +147,18 @@ if mod_m:
     analyza.append("\nIndex koincidence (s mezerami):")
     analyza.append('{0:.2%}'.format(
                    koincidence.index_koincidence(zprava, True)))
-if mod_x:
+if mod_x and len(zprava) >= 10:
+    #TODO tady by se spravne mela porovnavat delka ocesane zpravy
     analyza.append("\nIndexy koincidence (bez mezer):")
     analyza.append(koincidence.tabulka_indexu(zprava))
 
 # Vigenere
 if 'V' in opsny:
+    # TODO?poradne cteni opsnu
     analyza.append("\nHeslo k Vigenerovi (" + opsny[-1] + "):")
-    analyza.append(vigenere.zjisti_heslo(zprava, int(opsny[-1])))
+    vig_heslo, vig_text = vigenere.vsechno(zprava, int(opsny[-1]))
+    analyza.append(vig_heslo)
+    analyza.append(vig_text)
 
 # Jakobsen
 if mod_m: