import codecs import shlex import re emailRegex = "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,9}" #hashRegex = "([0-9a-zA-Z]{32}) (\S{3,32})" # For vBulletin hashRegex = "[a-fA-F0-9]{32}" debugMode= False opener = "INSERT INTO `member` VALUES (" infile = codecs.open("lookup", "r", encoding="utf-8", errors="replace") hashes = codecs.open("hashes.txt", "w", encoding="utf-8", errors="replace") emailhash = codecs.open("emailhash.txt", "w", encoding="utf-8", errors="replace") for lines in infile: lines = lines.replace(opener,"") lines = lines.split("),(") for line in lines: #line = line.replace("'","") #line = csv.reader(c.StringIO(line), delimiter='\'', escapechar='\\').next() #line = shlex.split(line) #if True: try: email = re.findall(emailRegex, line) if len(email) > 0: email = email[0] else: break passwd = re.findall(hashRegex, line) if len(passwd) > 0 and ":" in passwd: passwd = passwd[0][0] + ":" + passwd[0][1] passwd = passwd.rstrip("\',").replace("\\\\", "\\") \ .replace("\\\"","\"").replace("\\\'", "\'") else: passwd = passwd[0] if debugMode: print(email + ":" + passwd + "\n") if len(email) > 6 and "@" in email: hashes.write(passwd + "\n") emailhash.write(email + ":" + passwd + "\n") except: pass infile.close() hashes.close() emailhash.close()