def run_encode(args): print "[Stegan] Encoding %s inside %s" % (args['payload'], args['container']) try: payload = Payload.fromFile(args['payload']) if audio.fileType(args['container']) == "mp3": wavpath = mp3.decode(args['container']) container = WaveFile.fromFile(wavpath) else: container = WaveFile.fromFile(args['container']) if audio.fileType(args['trojan']) == 'mp3': tempfile = args['trojan'].replace('.mp3', '.wav') trojan = WaveFile.emptyFile(tempfile, container.header) fft_encode.encode(payload, container, trojan) mp3path = mp3.encode(tempfile, args['trojan']) else: trojan = WaveFile.emptyFile(args['trojan'], container.header) fft_encode.encode(payload, container, trojan) except Exception as e: print "[Stegan] There was an error while encoding" print "[Stegan] %s" % e
def test_fromFile_ReadFileSuccessful_DataEqualsExpected(self): # write payload "hey" payloadBytes = bytearray("hey") testPayload = Payload(payloadBytes) testPayload.writeToFile("hey.txt") payload = Payload.fromFile("hey.txt") os.remove("hey.txt") self.assertEqual(payloadBytes, payload.data)