X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Futils%2Ffilelock.py;h=31df146831aeb5e8ea06497ea851fbfdf2dc3bf3;hb=774e755d4a4fb985548cd3d17703c1f700687ff3;hp=8f7065f7a4ff24af923ee779b6a46eead8775a9b;hpb=71500abd7ef16784d027a8a20aa28b06e8a13a4f;p=mpd-sima.git diff --git a/sima/utils/filelock.py b/sima/utils/filelock.py index 8f7065f..31df146 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 Jack Kaliko +# Copyright (c) 2014 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