Python win32file._get_osfhandle() Examples
The following are 30
code examples of win32file._get_osfhandle().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
win32file
, or try the search function
.
Example #1
Source File: portalocker.py From termite-visualizations with BSD 3-Clause "New" or "Revised" License | 5 votes |
def lock(file, flags): hfile = win32file._get_osfhandle(file.fileno()) win32file.LockFileEx(hfile, flags, 0, 0x7fff0000, __overlapped)
Example #2
Source File: locked_file.py From luci-py with Apache License 2.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error as e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise self._locked = False if self._fh: self._fh.close()
Example #3
Source File: locked_file.py From luci-py with Apache License 2.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error as e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise self._locked = False if self._fh: self._fh.close()
Example #4
Source File: locked_file.py From luci-py with Apache License 2.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error as e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise self._locked = False if self._fh: self._fh.close()
Example #5
Source File: locked_file.py From twitter-for-bigquery with Apache License 2.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error, e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise
Example #6
Source File: portalocker.py From trains with Apache License 2.0 | 5 votes |
def unlock(file_): try: savepos = file_.tell() if savepos: file_.seek(0) try: msvcrt.locking(file_.fileno(), constants.LOCK_UN, lock_length) except IOError as exc_value: if exc_value.strerror == 'Permission denied': import pywintypes import win32file import winerror __overlapped = pywintypes.OVERLAPPED() hfile = win32file._get_osfhandle(file_.fileno()) try: win32file.UnlockFileEx( hfile, 0, -0x10000, __overlapped) except pywintypes.error as exc_value: if exc_value.winerror == winerror.ERROR_NOT_LOCKED: # error: (158, 'UnlockFileEx', # 'The segment is already unlocked.') # To match the 'posix' implementation, silently # ignore this error pass else: # Q: Are there exceptions/codes we should be # dealing with here? raise else: raise exceptions.LockException( exceptions.LockException.LOCK_FAILED, exc_value.strerror, fh=file_) finally: if savepos: file_.seek(savepos) except IOError as exc_value: raise exceptions.LockException( exceptions.LockException.LOCK_FAILED, exc_value.strerror, fh=file_)
Example #7
Source File: locks.py From python-compat-runtime with Apache License 2.0 | 5 votes |
def lock(file, flags): hfile = win32file._get_osfhandle(fd(file)) win32file.LockFileEx(hfile, flags, 0, -0x10000, __overlapped)
Example #8
Source File: locks.py From python-compat-runtime with Apache License 2.0 | 5 votes |
def unlock(file): hfile = win32file._get_osfhandle(fd(file)) win32file.UnlockFileEx(hfile, 0, -0x10000, __overlapped)
Example #9
Source File: Storage_base.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def make_file_sparse(path, f, length=0): supported = get_sparse_files_support(path) if not supported: return handle = win32file._get_osfhandle(f.fileno()) _sparse_magic(handle, length)
Example #10
Source File: platform.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def get_allocated_regions(path, f=None, begin=0, length=None): supported = get_sparse_files_support(path) if not supported: return if os.name == 'nt': if not os.path.exists(path): return False if f is None: f = file(path, 'r') handle = win32file._get_osfhandle(f.fileno()) if length is None: length = os.path.getsize(path) - begin a = SparseSet() run = 128 i = begin end = begin + length while i < end: d = struct.pack("<QQ", i, length) try: r = win32file.DeviceIoControl(handle, FSCTL_QUERY_ALLOCATED_RANGES, d, struct.calcsize("<QQ")*run, None) except pywintypes.error, e: if e.args[0] == winerror.ERROR_MORE_DATA: run *= 2 continue # I've also seen: # error: (1784, 'DeviceIoControl', 'The supplied user buffer is not valid for the requested operation.') return if not r: break for c in xrange(0, len(r), 16): qq = struct.unpack("<QQ", r[c:c+16]) b = qq[0] e = b + qq[1] a.add(b, e) i = max(i, e) return a
Example #11
Source File: Storage_IOCP.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def __init__(self, handle): from twisted.internet import reactor self.reactor = reactor self.handle = handle self.osfhandle = win32file._get_osfhandle(self.handle.fileno()) self.mode = self.handle.mode # CloseHandle automatically calls CancelIo self.close = self.handle.close self.fileno = self.handle.fileno self.read_op = ReadFileOp() self.write_op = WriteFileOp() self.readbuf = self.reactor.AllocateReadBuffer(self.buffer_size)
Example #12
Source File: locked_file.py From luci-py with Apache License 2.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error as e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise self._locked = False if self._fh: self._fh.close()
Example #13
Source File: portalocker.py From termite-visualizations with BSD 3-Clause "New" or "Revised" License | 5 votes |
def unlock(file): hfile = win32file._get_osfhandle(file.fileno()) win32file.UnlockFileEx(hfile, 0, 0x7fff0000, __overlapped)
Example #14
Source File: locked_file.py From data with GNU General Public License v3.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error as e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise self._locked = False if self._fh: self._fh.close()
Example #15
Source File: locked_file.py From data with GNU General Public License v3.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error, e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise
Example #16
Source File: locked_file.py From data with GNU General Public License v3.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error, e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise
Example #17
Source File: locked_file.py From data with GNU General Public License v3.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error, e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise
Example #18
Source File: locked_file.py From data with GNU General Public License v3.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error as e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise self._locked = False if self._fh: self._fh.close()
Example #19
Source File: locked_file.py From data with GNU General Public License v3.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error, e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise
Example #20
Source File: portalocker.py From zstack-utility with Apache License 2.0 | 5 votes |
def lock(file, flags): hfile = win32file._get_osfhandle(file.fileno()) try: win32file.LockFileEx(hfile, flags, 0, -0x10000, __overlapped) except pywintypes.error, exc_value: # error: (33, 'LockFileEx', 'The process cannot access the file because another process has locked a portion of the file.') if exc_value[0] == 33: raise LockException(LockException.LOCK_FAILED, exc_value[2]) else: # Q: Are there exceptions/codes we should be dealing with here? raise
Example #21
Source File: portalocker.py From zstack-utility with Apache License 2.0 | 5 votes |
def unlock(file): hfile = win32file._get_osfhandle(file.fileno()) try: win32file.UnlockFileEx(hfile, 0, -0x10000, __overlapped) except pywintypes.error, exc_value: if exc_value[0] == 158: # error: (158, 'UnlockFileEx', 'The segment is already unlocked.') # To match the 'posix' implementation, silently ignore this error pass else: # Q: Are there exceptions/codes we should be dealing with here? raise
Example #22
Source File: _win32_opener.py From aqua-monitor with GNU Lesser General Public License v3.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error as e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise self._locked = False if self._fh: self._fh.close()
Example #23
Source File: locked_file.py From earthengine with MIT License | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error as e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise self._locked = False if self._fh: self._fh.close()
Example #24
Source File: locked_file.py From splunk-ref-pas-code with Apache License 2.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error, e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise
Example #25
Source File: locked_file.py From sndlatr with Apache License 2.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error, e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise
Example #26
Source File: locked_file.py From billing-export-python with Apache License 2.0 | 5 votes |
def unlock_and_close(self): """Close and unlock the file using the win32 primitive.""" if self._locked: try: hfile = win32file._get_osfhandle(self._fh.fileno()) win32file.UnlockFileEx(hfile, 0, -0x10000, pywintypes.OVERLAPPED()) except pywintypes.error, e: if e[0] != _Win32Opener.FILE_ALREADY_UNLOCKED_ERROR: raise
Example #27
Source File: app.py From qubes-core-admin with GNU Lesser General Public License v2.1 | 5 votes |
def _acquire_lock(self, for_save=False): assert self.__locked_fh is None, 'double lock' while True: try: fd = os.open(self._store, os.O_RDWR | (os.O_CREAT * int(for_save))) except FileNotFoundError: if not for_save: raise qubes.exc.QubesException( 'Qubes XML store {!r} is missing; ' 'use qubes-create tool'.format(self._store)) raise # While we were waiting for lock, someone could have unlink()ed # (or rename()d) our file out of the filesystem. We have to # ensure we got lock on something linked to filesystem. # If not, try again. if os.fstat(fd) != os.stat(self._store): os.close(fd) continue if self.__load_timestamp and \ os.path.getmtime(self._store) != self.__load_timestamp: os.close(fd) raise qubes.exc.QubesException( 'Someone else modified qubes.xml in the meantime') break if os.name == 'posix': fcntl.lockf(fd, fcntl.LOCK_EX) elif os.name == 'nt': # pylint: disable=protected-access overlapped = pywintypes.OVERLAPPED() win32file.LockFileEx( win32file._get_osfhandle(fd), win32con.LOCKFILE_EXCLUSIVE_LOCK, 0, -0x10000, overlapped) self.__locked_fh = os.fdopen(fd, 'r+b') return self.__locked_fh
Example #28
Source File: lock.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _LockImplWin(target_file, flags): hfile = win32file._get_osfhandle(target_file.fileno()) try: win32file.LockFileEx(hfile, flags, 0, -0x10000, _OVERLAPPED) except pywintypes.error, exc_value: if exc_value[0] == 33: raise LockException('Error trying acquiring lock of %s: %s' % (target_file.name, exc_value[2])) else: raise
Example #29
Source File: lock.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _UnlockImplWin(target_file): hfile = win32file._get_osfhandle(target_file.fileno()) try: win32file.UnlockFileEx(hfile, 0, -0x10000, _OVERLAPPED) except pywintypes.error, exc_value: if exc_value[0] == 158: # error: (158, 'UnlockFileEx', 'The segment is already unlocked.') # To match the 'posix' implementation, silently ignore this error pass else: # Q: Are there exceptions/codes we should be dealing with here? raise
Example #30
Source File: lock.py From Jandroid with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _LockImplWin(target_file, flags): hfile = win32file._get_osfhandle(target_file.fileno()) try: win32file.LockFileEx(hfile, flags, 0, -0x10000, _OVERLAPPED) except pywintypes.error, exc_value: if exc_value[0] == 33: raise LockException('Error trying acquiring lock of %s: %s' % (target_file.name, exc_value[2])) else: raise