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

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import win32api
  5. import mmapfile
  6. import tempfile
  7. import os
  8. system_info = win32api.GetSystemInfo()
  9. page_size = system_info[1]
  10. alloc_size = system_info[7]
  11. fname = tempfile.mktemp()
  12. mapping_name = os.path.split(fname)[1]
  13. fsize = 8 * page_size
  14. print fname, fsize, mapping_name
  15. m1 = mmapfile.mmapfile(File = fname, Name = mapping_name, MaximumSize = fsize)
  16. m1.seek(100)
  17. m1.write_byte('?')
  18. m1.seek(-1, 1)
  19. m2 = mmapfile.mmapfile(Name = mapping_name, File = None, MaximumSize = fsize * 2)
  20. m1.seek(0, 0)
  21. m1.write(fsize * 's')
  22. move_src = 100
  23. move_dest = 500
  24. move_size = 150
  25. m2.seek(move_src, 0)
  26. m2.write('m' * move_size)
  27. m2.move(move_dest, move_src, move_size)
  28. m2.seek(move_dest, 0)
  29. m2.close()
  30. m1.resize(fsize * 2)
  31. m1.seek(fsize)
  32. m1.write('w' * fsize)
  33. m1.flush()
  34. m1.close()
  35. os.remove(fname)
  36. fname_large = tempfile.mktemp()
  37. mapping_name = 'Pywin32_large_mmap'
  38. offsetdata = 'This is start of offset'
  39. fsize = 0x28000014DL
  40. offset = 33554474
  41. view_size = 16777327
  42. if fsize % page_size:
  43.     fsize += page_size - fsize % page_size
  44.  
  45. if view_size % page_size:
  46.     view_size += page_size - view_size % page_size
  47.  
  48. offset -= offset % alloc_size
  49. m1 = None
  50. m2 = None
  51.  
  52. try:
  53.     m1 = mmapfile.mmapfile(fname_large, mapping_name, fsize, 0, offset * 2)
  54.     m1.seek(offset)
  55.     m1.write(offsetdata)
  56.     m2 = mmapfile.mmapfile(File = None, Name = mapping_name, MaximumSize = 1, FileOffset = offset, NumberOfBytesToMap = view_size)
  57. finally:
  58.     if m1 is not None:
  59.         m1.close()
  60.     
  61.     if m2 is not None:
  62.         m2.close()
  63.     
  64.     if os.path.exists(fname_large):
  65.         os.remove(fname_large)
  66.     
  67.  
  68.