lepsi zachazeni s maily
[krypto.git] / robot.py
index ee100cf..58fed48 100755 (executable)
--- a/robot.py
+++ b/robot.py
@@ -12,6 +12,7 @@ import koincidence
 import posuny
 import pickle
 import os
+import re
 
 ABECEDA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
 
@@ -56,7 +57,7 @@ if opsny == 'H':
     sys.exit()
 if 'L' in opsny:
     mail = pickle.load(open('./msg_last.tmp'))
-    if (mail['From'] != odesilatel):
+    if ((re.match(r".*\<(.*)\>.*", mail['From']).group(1) or mail['From']) != (re.match(r".*\<(.*)\>.*", odesilatel).group(1) or odesilatel)):
         posli_mail(odesilatel, "Omluva", "Omlouvam se,"
                    " ale Vase zprava uz bohuzel neni na serveru ulozena.\n")
         sys.exit()
@@ -127,10 +128,15 @@ if mod_x:
     analyza.append(jakobsen.desifruj(zprava, './bref'))
 
 # Posuny v abecede
-# TODO najit nejvhodnejsi posuny a vypsat jenom ty
+(posun, posunuty_text) = posuny.nejlepsi(zprava)
+
+
 if 'P' in opsny or 'A' in opsny:
-    analyza.append("\nPosuny v abecede:")
-    analyza.append(posuny.vsechny(zprava))
+    analyza.append("\nPosuny v abecede (nejlepsi posun {0}):".format(posun))
+    analyza.append("{0} {1}".format(i, posuny.vsechny(zprava)[i]) for i in range(26))
+else:
+    analyza.append("\nNejlepsi posun ({0}):".format(posun))
+    analyza.append(posunuty_text)
 
 # Bigramy
 if ('B' in opsny or 'A' in opsny):
@@ -175,5 +181,6 @@ pickle.dump(mail, f)
 f.close()
 
 f = open('./robot.log', 'a')
-f.write(asctime() + " " +  odesilatel + "\n")
+odesilatel2 = re.match(r".*\<(.*)\>.*", odesilatel) or odesilatel
+f.write(asctime() + " " +  odesilatel2 + " " + opsny + "\n")
 f.close()