home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2460 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  1.9 KB  |  61 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import win32file
  5. import win32api
  6. import winerror
  7. import os
  8.  
  9. def ReadCallback(input_buffer, data, buflen):
  10.     (fnamein, fnameout, f) = data
  11.     f.write(input_buffer)
  12.     return long(winerror.ERROR_SUCCESS)
  13.  
  14.  
  15. def WriteCallback(output_buffer, data, buflen):
  16.     (fnamebackup, fnameout, f) = data
  17.     file_data = f.read(buflen)
  18.     output_len = len(file_data)
  19.     output_buffer[:output_len] = file_data
  20.     return (winerror.ERROR_SUCCESS, output_len)
  21.  
  22. tmp_dir = win32api.GetTempPath()
  23. dst_dir = win32api.GetTempFileName(tmp_dir, 'oef')[0]
  24. os.remove(dst_dir)
  25. os.mkdir(dst_dir)
  26. print 'Destination dir:', dst_dir
  27. fname = win32api.GetTempFileName(dst_dir, 'ref')[0]
  28. print 'orig file:', fname
  29. f = open(fname, 'w')
  30. f.write('xxxxxxxxxxxxxxxx\n' * 32768)
  31. f.close()
  32. f = open(fname + ':stream_y', 'w')
  33. f.write('yyyyyyyyyyyyyyyy\n' * 32768)
  34. f.close()
  35. f = open(fname + ':stream_z', 'w')
  36. f.write('zzzzzzzzzzzzzzzz\n' * 32768)
  37. f.close()
  38. win32file.EncryptFile(fname)
  39. bkup_fname = win32api.GetTempFileName(dst_dir, 'bef')[0]
  40. print 'backup file:', bkup_fname
  41. f = open(bkup_fname, 'wb')
  42. ctxt = win32file.OpenEncryptedFileRaw(fname, 0)
  43.  
  44. try:
  45.     win32file.ReadEncryptedFileRaw(ReadCallback, (fname, bkup_fname, f), ctxt)
  46. finally:
  47.     win32file.CloseEncryptedFileRaw(ctxt)
  48.     f.close()
  49.  
  50. dst_fname = win32api.GetTempFileName(dst_dir, 'wef')[0]
  51. print 'restored file:', dst_fname
  52. f = open(bkup_fname, 'rb')
  53. ctxtout = win32file.OpenEncryptedFileRaw(dst_fname, win32file.CREATE_FOR_IMPORT)
  54.  
  55. try:
  56.     win32file.WriteEncryptedFileRaw(WriteCallback, (bkup_fname, dst_fname, f), ctxtout)
  57. finally:
  58.     win32file.CloseEncryptedFileRaw(ctxtout)
  59.     f.close()
  60.  
  61.