home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import win32file
- import win32api
- import winerror
- import os
-
- def ReadCallback(input_buffer, data, buflen):
- (fnamein, fnameout, f) = data
- f.write(input_buffer)
- return long(winerror.ERROR_SUCCESS)
-
-
- def WriteCallback(output_buffer, data, buflen):
- (fnamebackup, fnameout, f) = data
- file_data = f.read(buflen)
- output_len = len(file_data)
- output_buffer[:output_len] = file_data
- return (winerror.ERROR_SUCCESS, output_len)
-
- tmp_dir = win32api.GetTempPath()
- dst_dir = win32api.GetTempFileName(tmp_dir, 'oef')[0]
- os.remove(dst_dir)
- os.mkdir(dst_dir)
- print 'Destination dir:', dst_dir
- fname = win32api.GetTempFileName(dst_dir, 'ref')[0]
- print 'orig file:', fname
- f = open(fname, 'w')
- f.write('xxxxxxxxxxxxxxxx\n' * 32768)
- f.close()
- f = open(fname + ':stream_y', 'w')
- f.write('yyyyyyyyyyyyyyyy\n' * 32768)
- f.close()
- f = open(fname + ':stream_z', 'w')
- f.write('zzzzzzzzzzzzzzzz\n' * 32768)
- f.close()
- win32file.EncryptFile(fname)
- bkup_fname = win32api.GetTempFileName(dst_dir, 'bef')[0]
- print 'backup file:', bkup_fname
- f = open(bkup_fname, 'wb')
- ctxt = win32file.OpenEncryptedFileRaw(fname, 0)
-
- try:
- win32file.ReadEncryptedFileRaw(ReadCallback, (fname, bkup_fname, f), ctxt)
- finally:
- win32file.CloseEncryptedFileRaw(ctxt)
- f.close()
-
- dst_fname = win32api.GetTempFileName(dst_dir, 'wef')[0]
- print 'restored file:', dst_fname
- f = open(bkup_fname, 'rb')
- ctxtout = win32file.OpenEncryptedFileRaw(dst_fname, win32file.CREATE_FOR_IMPORT)
-
- try:
- win32file.WriteEncryptedFileRaw(WriteCallback, (bkup_fname, dst_fname, f), ctxtout)
- finally:
- win32file.CloseEncryptedFileRaw(ctxtout)
- f.close()
-
-