]> kaliko git repositories - mpd-sima.git/blobdiff - sima/utils/filelock.py
Revert previous refactoring around Exceptions
[mpd-sima.git] / sima / utils / filelock.py
index 8f7065f7a4ff24af923ee779b6a46eead8775a9b..b5c51b6765f17d2f247693529157e07c09bc7aab 100644 (file)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 
 # Copyright (c) 2009 Evan Fosmark
-# Copyright (c) 2014 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2014, 2021 kaliko <kaliko@azylum.org>
 #
 #   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"""
@@ -46,7 +47,7 @@ class FileLock:
         self.filedsc = None
         self.is_locked = False
         dirname = os.path.dirname(file_name)
-        self.lockfile = os.path.join(dirname, '{0}.lock'.format(file_name))
+        self.lockfile = os.path.join(dirname, 'f{file_name}.lock')
         self.file_name = file_name
         self.timeout = timeout
         self.delay = delay
@@ -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: