mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-08-14 02:26:58 -07:00
Update cherrypy==18.9.0
This commit is contained in:
parent
2fc618c01f
commit
51196a7fb1
137 changed files with 44442 additions and 11582 deletions
|
@ -11,18 +11,18 @@
|
|||
# FOR A PARTICULAR PURPOSE
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import os
|
||||
import errno
|
||||
import logging
|
||||
import os
|
||||
|
||||
|
||||
logger = logging.getLogger("zc.lockfile")
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
class LockError(Exception):
|
||||
"""Couldn't get a lock
|
||||
"""
|
||||
|
||||
|
||||
try:
|
||||
import fcntl
|
||||
except ImportError:
|
||||
|
@ -31,6 +31,7 @@ except ImportError:
|
|||
except ImportError:
|
||||
def _lock_file(file):
|
||||
raise TypeError('No file-locking support on this platform')
|
||||
|
||||
def _unlock_file(file):
|
||||
raise TypeError('No file-locking support on this platform')
|
||||
|
||||
|
@ -40,14 +41,14 @@ except ImportError:
|
|||
# Lock just the first byte
|
||||
try:
|
||||
msvcrt.locking(file.fileno(), msvcrt.LK_NBLCK, 1)
|
||||
except IOError:
|
||||
except OSError:
|
||||
raise LockError("Couldn't lock %r" % file.name)
|
||||
|
||||
def _unlock_file(file):
|
||||
try:
|
||||
file.seek(0)
|
||||
msvcrt.locking(file.fileno(), msvcrt.LK_UNLCK, 1)
|
||||
except IOError:
|
||||
except OSError:
|
||||
raise LockError("Couldn't unlock %r" % file.name)
|
||||
|
||||
else:
|
||||
|
@ -57,14 +58,16 @@ else:
|
|||
def _lock_file(file):
|
||||
try:
|
||||
fcntl.flock(file.fileno(), _flags)
|
||||
except IOError:
|
||||
except OSError:
|
||||
raise LockError("Couldn't lock %r" % file.name)
|
||||
|
||||
def _unlock_file(file):
|
||||
fcntl.flock(file.fileno(), fcntl.LOCK_UN)
|
||||
|
||||
|
||||
class LazyHostName:
|
||||
"""Avoid importing socket and calling gethostname() unnecessarily"""
|
||||
|
||||
def __str__(self):
|
||||
import socket
|
||||
return socket.gethostname()
|
||||
|
@ -79,7 +82,7 @@ class SimpleLockFile:
|
|||
try:
|
||||
# Try to open for writing without truncation:
|
||||
fp = open(path, 'r+')
|
||||
except IOError:
|
||||
except OSError:
|
||||
# If the file doesn't exist, we'll get an IO error, try a+
|
||||
# Note that there may be a race here. Multiple processes
|
||||
# could fail on the r+ open and open the file a+, but only
|
||||
|
@ -89,7 +92,7 @@ class SimpleLockFile:
|
|||
try:
|
||||
_lock_file(fp)
|
||||
self._fp = fp
|
||||
except:
|
||||
except BaseException:
|
||||
fp.close()
|
||||
raise
|
||||
|
||||
|
@ -114,7 +117,7 @@ class LockFile(SimpleLockFile):
|
|||
|
||||
def __init__(self, path, content_template='{pid}'):
|
||||
self._content_template = content_template
|
||||
super(LockFile, self).__init__(path)
|
||||
super().__init__(path)
|
||||
|
||||
def _on_lock(self):
|
||||
content = self._content_template.format(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue