X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Futils%2Ffilelock.py;h=81f9d3c5c14b81988168eb02c0edc9ff024c6359;hb=e86c25ed9e97c5dd3e0672d5b17bed01d4a23fdf;hp=2cb33a706991767f3d3438023f2ac086c9cf09bb;hpb=5155de9f17342ee68f19196d7658751883f4145a;p=mpd-sima.git diff --git a/sima/utils/filelock.py b/sima/utils/filelock.py index 2cb33a7..81f9d3c 100644 --- a/sima/utils/filelock.py +++ b/sima/utils/filelock.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Copyright (c) 2009 Evan Fosmark -# Copyright (c) 2014 kaliko +# Copyright (c) 2014, 2021 kaliko # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -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 @@ -83,7 +84,7 @@ class FileLock: self.acquire() return self - def __exit__(self, type, value, traceback): + def __exit__(self, ex_type, ex_value, ex_traceback): """end of the with statement """ if self.is_locked: