mod_m
[krypto.git] / robot.py
index 6ae0358..e25b699 100755 (executable)
--- a/robot.py
+++ b/robot.py
@@ -35,14 +35,19 @@ if predmet != settings.subject:
     sys.exit()
 if (opsny == 'H'):
     posli_mail(odesilatel, "Napoveda", "Napoveda:\n"
     sys.exit()
 if (opsny == 'H'):
     posli_mail(odesilatel, "Napoveda", "Napoveda:\n"
-               "Pro opakovanou analyzu posledni zpravy zaslete mail s predmetem \"" + 
-               settings.subject + " L\". Na velikosti pismen v predmetu nezalezi."
-               "\n\nS pozdravem\nVas Robot\n")
+               "Prikazy robotovi vkladejte do predmetu zpravy zaslane na adresu " + 
+               settings.mail + ".\nNa velikosti pismen nezalezi."
+               "\n\nSeznam prikazu:\n"
+               "\"" + settings.subject + "\"   Analyza zpravy z tela mailu.\n" 
+               "\"" + settings.subject + " L\" Opakovana analyza posledni zpravy.\n" +
+               "\"" + settings.subject + " H\" Tato napoveda.\n"
+               "\nS pozdravem\nVas Robot\n")
     sys.exit()
 if (opsny == 'L'):
     mail = pickle.load(open('./msg_last.tmp'))
     if (mail['From'] != odesilatel):
     sys.exit()
 if (opsny == 'L'):
     mail = pickle.load(open('./msg_last.tmp'))
     if (mail['From'] != odesilatel):
-        posli_mail(odesilatel, "Omluva", "Omlouvam se, ale Vase zprava uz bohuzel neni na serveru ulozena.\n")
+        posli_mail(odesilatel, "Omluva", "Omlouvam se,"
+                   " ale Vase zprava uz bohuzel neni na serveru ulozena.\n")
         sys.exit()
 telo = mail.get_payload().strip()
 if len(telo) < 2:
         sys.exit()
 telo = mail.get_payload().strip()
 if len(telo) < 2:
@@ -54,17 +59,42 @@ analyza = []
 analyza.append("Puvodni zprava:")
 analyza.append(telo)
 
 analyza.append("Puvodni zprava:")
 analyza.append(telo)
 
+# Prepinani spacemodu
+if 'X' in opsny:
+    mod_m = True
+elif 'M' in opsny:
+    mod_m = False
+elif ' ' in ocesat(zprava, True):
+    mod_m = True
+else:
+    mod_m = False    
+if mod_m:
+    analyza.append("\nAnalyza s mezerami.")
+else:
+    analyza.append("\nAnalyza bez mezer.")
+    
 # Zakladni udaje
 # Zakladni udaje
-analyza.append("\nDelka zpravy (bez mezer a zvlastnich znaku):")
-analyza.append(str(len(ocesat(zprava, False))))
+analyza.append("\nZakladni udaje:")
+if mod_m:
+    analyza.append("Delka zpravy (vcetne mezer a zvlastnich znaku): " + str(len(zprava)))
+analyza.append("Delka zpravy (bez mezer a zvlastnich znaku): " + str(len(ocesat(zprava, False))))
+
+# Prumerna delka slova
+if mod_m:
+    analyza.append("\nPrumerna delka slova:")
+    slova = ocesat(zprava, True).split()
+    analyza.append('{0:.3}'.format(float(sum([len(word) for word in slova]))/len(slova)))
 
 # Index koincidence
 
 # Index koincidence
-analyza.append("\nIndexy koincidence:")
+# TODO verze s mezerami
+analyza.append("\nIndexy koincidence (vzdy bez mezer):")
 analyza.append(koincidence.tabulka_indexu(zprava))
 
 # Jakobsen
 analyza.append(koincidence.tabulka_indexu(zprava))
 
 # Jakobsen
-analyza.append("\nJakobsen:")
-analyza.append(jakobsen.desifruj(zprava, './ref'))
+# TODO verze bez mezer
+if mod_m:
+    analyza.append("\nJakobsen:")
+    analyza.append(jakobsen.desifruj(zprava, './ref'))
 
 # Posuny v abecede
 analyza.append("\nPosuny v abecede:")
 
 # Posuny v abecede
 analyza.append("\nPosuny v abecede:")