X-Git-Url: http://git.tomasm.cz/krypto.git/blobdiff_plain/72abf0def8914771af7171eb8f4e3913842d1071..4bebeac3c7ea32d77313bf9112ba9b649edb8e43:/robot.py?ds=sidebyside diff --git a/robot.py b/robot.py index ee100cf..98792db 100755 --- 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,17 @@ if opsny == 'H': sys.exit() if 'L' in opsny: mail = pickle.load(open('./msg_last.tmp')) - if (mail['From'] != odesilatel): + m1 = re.match(r".*\<(.*)\>.*", mail['From']) + m2 = re.match(r".*\<(.*)\>.*", odesilatel) + if m1: + f1 = m1.group(1) + else: + f1 = mail['From'] + if m2: + f2 = m2.group(1) + else: + f2 = odesilatel + if (f1 != f2): posli_mail(odesilatel, "Omluva", "Omlouvam se," " ale Vase zprava uz bohuzel neni na serveru ulozena.\n") sys.exit() @@ -127,10 +138,13 @@ 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("\n".join("{0:>2} {1}".format(i + 1, 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): @@ -154,16 +168,8 @@ analyza.append(''.join(["\nS pozdravem\nVas Robot\n" "\n--\nPro napovedu zaslete mail s predmetem \"", settings.subject," H\".\n"])) -# Kompozice odpovedi -msg = MIMEText("\n".join(analyza)) -msg['Subject'] = "Analyza Vasi zpravy" -msg['From'] = settings.name + " <" + settings.mail + ">" -msg['To'] = odesilatel - # Odeslani odpovedi -s = smtplib.SMTP('localhost') -s.sendmail(settings.mail, odesilatel, msg.as_string()) -s.quit() +posli_mail(odesilatel, "Analyza Vasi zpravy", "\n".join(analyza)) # Zalogovani posledni zpravy f = open('./robot_last.tmp', 'w') @@ -175,5 +181,10 @@ pickle.dump(mail, f) f.close() f = open('./robot.log', 'a') -f.write(asctime() + " " + odesilatel + "\n") +m = re.match(r".*\<(.*)\>.*", odesilatel) +if m: + odesilatel2 = m.group(1) +else: + odesilatel2 = odesilatel +f.write(asctime() + " " + odesilatel2 + " " + opsny + "\n") f.close()