#! /usr/bin/python # KeyCracker1c by Mike Sweeney (mjs) 10-may-05 (30 lines) import sys from string import * f = [strip(a) for a in file(sys.argv[1]).readlines() if strip(a)] src, dest = f[:len(f)/2], f[len(f)/2:] out, incol = [], 0 for r in range( len(src) ): s,d = src[r], dest[r]; cmd = '' for i in range( max(len(s),len(d))+1 ): if i >= len(d) and i >= len(s): cmd = '' elif i >= len(d): cmd += '>' elif i >= len(s): cmd = 'ea%s' % d[i:] elif s[i] != d[i]: cmd += '>a%s' % d[i:] else: cmd += 'r'; continue break nr = 0 while cmd[nr:nr+1] == 'r' : nr += 1 incol = min( incol, len(s)-1 ) if cmd == '' : pass elif nr != 0 and incol-nr <= nr : cmd = 'l'*(incol-nr)+cmd[min(incol,nr):] elif incol >= len(s)-1: if cmd[0:1] == 'e' : cmd = cmd[1:] elif cmd[0:1] == '>' : cmd = '<'+cmd[1:] else : cmd = 'b'+cmd elif incol != 0 : cmd = 'b'+cmd if dest[r+1:r+2]: cmd += 'd' out.append( cmd ) if cmd != 'd' : incol = len(d)-1 print join(out,'')