X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Futils%2Ffilelock.py;h=31df146831aeb5e8ea06497ea851fbfdf2dc3bf3;hb=b2341c5c948f731c9247706db09646eb6c61eec5;hp=2cb33a706991767f3d3438023f2ac086c9cf09bb;hpb=5155de9f17342ee68f19196d7658751883f4145a;p=mpd-sima.git diff --git a/sima/utils/filelock.py b/sima/utils/filelock.py index 2cb33a7..31df146 100644 --- a/sima/utils/filelock.py +++ b/sima/utils/filelock.py @@ -31,9 +31,10 @@ import errno import os import time + class FileLockException(Exception): """FileLock Exception""" - pass + class FileLock: """ A plain file lock whit context-manager""" @@ -58,13 +59,13 @@ class FileLock: while True: try: self.filedsc = os.open(self.lockfile, - os.O_CREAT|os.O_EXCL|os.O_RDWR) + os.O_CREAT | os.O_EXCL | os.O_RDWR) break except OSError as err: if err.errno != errno.EEXIST: raise if (time.time() - start_time) >= self.timeout: - raise FileLockException('Timeout occured.') + raise FileLockException('Timeout occured.') from err time.sleep(self.delay) self.is_locked = True