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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import win32file
  5. import win32api
  6. import win32con
  7. import win32security
  8. import ntsecuritycon
  9. from win32com import storagecon
  10. import pythoncom
  11. import pywintypes
  12. import struct
  13. import traceback
  14. all_sd_info = win32security.DACL_SECURITY_INFORMATION | win32security.DACL_SECURITY_INFORMATION | win32security.OWNER_SECURITY_INFORMATION | win32security.GROUP_SECURITY_INFORMATION
  15. tempdir = win32api.GetTempPath()
  16. tempfile = win32api.GetTempFileName(tempdir, 'bkr')[0]
  17. outfile = win32api.GetTempFileName(tempdir, 'out')[0]
  18. print 'Filename:', tempfile, 'Output file:', outfile
  19. f = open(tempfile, 'w')
  20. f.write('some random junk' + 'x' * 100)
  21. f.close()
  22. f = open(tempfile + ':streamdata', 'w')
  23. f.write('data written to alternate stream' + 'y' * 100)
  24. f.close()
  25. f = open(tempfile + ':anotherstream', 'w')
  26. f.write('z' * 100)
  27. f.close()
  28. m = storagecon.STGM_READWRITE | storagecon.STGM_SHARE_EXCLUSIVE | storagecon.STGM_DIRECT
  29. pss = pythoncom.StgOpenStorageEx(tempfile, m, storagecon.STGFMT_FILE, 0, pythoncom.IID_IPropertySetStorage, None)
  30. ps = pss.Create(pythoncom.FMTID_SummaryInformation, pythoncom.IID_IPropertyStorage, 0, storagecon.STGM_READWRITE | storagecon.STGM_SHARE_EXCLUSIVE)
  31. ps.WriteMultiple((storagecon.PIDSI_KEYWORDS, storagecon.PIDSI_COMMENTS), ('keywords', 'comments'))
  32. ps = None
  33. pss = None
  34. new_sd = pywintypes.SECURITY_DESCRIPTOR()
  35. sid = win32security.LookupAccountName('', 'EveryOne')[0]
  36. acl = pywintypes.ACL()
  37. acl.AddAccessAllowedAce(1, win32con.GENERIC_READ, sid)
  38. acl.AddAccessAllowedAce(1, ntsecuritycon.FILE_APPEND_DATA, sid)
  39. acl.AddAccessAllowedAce(1, win32con.GENERIC_WRITE, sid)
  40. acl.AddAccessAllowedAce(1, ntsecuritycon.FILE_ALL_ACCESS, sid)
  41. new_sd.SetSecurityDescriptorDacl(True, acl, False)
  42. win32security.SetFileSecurity(tempfile, win32security.DACL_SECURITY_INFORMATION, new_sd)
  43. sa = pywintypes.SECURITY_ATTRIBUTES()
  44. sa.bInheritHandle = True
  45. h = win32file.CreateFile(tempfile, win32con.GENERIC_ALL, win32con.FILE_SHARE_READ, sa, win32con.OPEN_EXISTING, win32file.FILE_FLAG_BACKUP_SEMANTICS, None)
  46. outh = win32file.CreateFile(outfile, win32con.GENERIC_ALL, win32con.FILE_SHARE_READ | win32con.FILE_SHARE_WRITE, sa, win32con.OPEN_EXISTING, win32file.FILE_FLAG_BACKUP_SEMANTICS, None)
  47. ctxt = 0
  48. outctxt = 0
  49. buf = None
  50. readsize = 100
  51. while None:
  52.     (bytes_read, buf, ctxt) = win32file.BackupRead(h, readsize, buf, False, True, ctxt)
  53.     if bytes_read == 0:
  54.         break
  55.     
  56.     (bytes_written, outctxt) = win32file.BackupWrite(outh, bytes_read, buf, False, True, outctxt)
  57.     print 'Written:', bytes_written, 'Context:', outctxt
  58.     continue
  59.     win32file.BackupWrite(outh, 0, '', True, True, outctxt)
  60.     win32file.CloseHandle(h)
  61.     win32file.CloseHandle(outh)
  62.     return None
  63.