From 7399f178a4c894faed2714687745ec1ca38ce9b4 Mon Sep 17 00:00:00 2001 From: richard Date: Thu, 20 Feb 2003 22:56:49 +0000 Subject: [PATCH] reversing the "make it nicer" checkin git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@1537 57a73879-2fb5-44c3-a270-3262357dd7e2 --- roundup/backends/locking.py | 14 +++++++++++++- roundup/backends/portalocker.py | 12 ++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/roundup/backends/locking.py b/roundup/backends/locking.py index 0799bb5..4522328 100644 --- a/roundup/backends/locking.py +++ b/roundup/backends/locking.py @@ -19,7 +19,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# $Id: locking.py,v 1.5 2003-02-14 00:08:32 richard Exp $ +# $Id: locking.py,v 1.6 2003-02-20 22:56:49 richard Exp $ '''This module provides a generic interface to acquire and release exclusive access to a file. @@ -27,6 +27,18 @@ exclusive access to a file. It should work on Unix and Windows. ''' +# portalocker has a 0xffff0000 constant, and I don't need to know about it +# being positive in 2.4+ :) +try: + x=FutureWarning + import warnings + warnings.filterwarnings("ignore", + r'hex/oct constants > sys\.maxint .*', FutureWarning, + 'portalocker', 0) + del x +except: + pass + import portalocker def acquire_lock(path, block=1): diff --git a/roundup/backends/portalocker.py b/roundup/backends/portalocker.py index daf8b0f..a062701 100644 --- a/roundup/backends/portalocker.py +++ b/roundup/backends/portalocker.py @@ -2,7 +2,7 @@ # Requires python 1.5.2 or better. # ID line added by richard for Roundup file tracking -# $Id: portalocker.py,v 1.4 2003-02-14 00:08:32 richard Exp $ +# $Id: portalocker.py,v 1.5 2003-02-20 22:56:49 richard Exp $ """ Cross-platform (posix/nt) API for flock-style file locking. @@ -67,7 +67,7 @@ if os.name == 'nt': # Try LockFileEx first, as it has more functionality and handles # blocking locks more efficiently. try: - win32file.LockFileEx(hfile, flags, 0, 0xffff0000L, __overlapped) + win32file.LockFileEx(hfile, flags, 0, 0xffff0000, __overlapped) except win32file.error, e: import winerror # Propagate upwards all exceptions other than not-implemented. @@ -82,14 +82,14 @@ if os.name == 'nt': warnings.warn("PortaLocker does not support shared locking on Win9x", RuntimeWarning) # LockFile only supports immediate-fail locking. if flags & LOCK_NB: - win32file.LockFile(hfile, 0, 0, 0xffff0000L, 0) + win32file.LockFile(hfile, 0, 0, 0xffff0000, 0) else: # Emulate a blocking lock with a polling loop. import time while 1: # Attempt a lock. try: - win32file.LockFile(hfile, 0, 0, 0xffff0000L, 0) + win32file.LockFile(hfile, 0, 0, 0xffff0000, 0) break except win32file.error, e: # Propagate upwards all exceptions other than lock violation. @@ -104,7 +104,7 @@ if os.name == 'nt': # UnlockFileEx is not supported on all Win32 platforms (Win95, Win98, WinME). # If it's not supported, win32file will raise an api_error exception. try: - win32file.UnlockFileEx(hfile, 0, 0xffff0000L, __overlapped) + win32file.UnlockFileEx(hfile, 0, 0xffff0000, __overlapped) except win32file.error, e: import winerror # Propagate upwards all exceptions other than not-implemented. @@ -113,7 +113,7 @@ if os.name == 'nt': # UnlockFileEx is not supported. Use UnlockFile. # Care: the low/high length params are reversed compared to UnLockFileEx. - win32file.UnlockFile(hfile, 0, 0, 0xffff0000L, 0) + win32file.UnlockFile(hfile, 0, 0, 0xffff0000, 0) elif os.name =='posix': def lock(file, flags): -- 2.39.5