def main(server: str, port: int): data = send_msg(server, port, proto.start_crack()) msg_type = proto.parse_msg_type(data) if msg_type == proto.GIVE_GENOME: genome = proto.parse_genome(data) data = send_msg(server, port, proto.take_more()) seq, success = try_crack(data, genome) while not success: data = send_msg(server, port, proto.take_more()) seq, success = try_crack(data, genome) else: send_msg(server, port, proto.success(seq)) print(seq) else: print("Fail")
def try_crack(data: bytes, genome: str) -> (str, bool): if proto.parse_msg_type(data) == proto.NO_MORE: print("No more sequences. Soryan") exit(0) # todo: refactor steps, seq = proto.parse_more(data) return crack(seq, steps, genome)