drobnosti
[krypto.git] / robot.py
index ce6244f..79282fc 100755 (executable)
--- a/robot.py
+++ b/robot.py
@@ -15,8 +15,8 @@ import posuny
 import pickle
 import os
 import re
 import pickle
 import os
 import re
-
-ABECEDA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+from spolecne import ABECEDA
+import vigenere
 
 class settings:
     pass
 
 class settings:
     pass
@@ -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()
         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")
 if len(ocesat(telo, False)) < 2:
     posli_mail(odesilatel, "Omluva", "Omlouvam se,"
                    " ale Vase zprava je prilis kratka.\n")
@@ -142,10 +147,19 @@ if mod_m:
     analyza.append("\nIndex koincidence (s mezerami):")
     analyza.append('{0:.2%}'.format(
                    koincidence.index_koincidence(zprava, True)))
     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))
 
     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] + "):")
+    vig_heslo, vig_text = vigenere.vsechno(zprava, int(opsny[-1]))
+    analyza.append(vig_heslo)
+    analyza.append(vig_text)
+
 # Jakobsen
 if mod_m:
     analyza.append("\nJakobsen (s mezerami):")
 # Jakobsen
 if mod_m:
     analyza.append("\nJakobsen (s mezerami):")