Total Complexity | 3 |
Total Lines | 25 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | ''' |
||
21 | class ScriptLock(): |
||
22 | config = None |
||
23 | flock = None |
||
24 | |||
25 | def __init__(self, config): |
||
26 | ''' |
||
27 | Parse machine-local configuration file. |
||
28 | ''' |
||
29 | self.config = config |
||
30 | |||
31 | def __enter__(self): |
||
32 | ''' |
||
33 | Be a context manager. |
||
34 | ''' |
||
35 | fname = self.config.get("Execution", "pidfile") |
||
36 | self.flock = FilesystemLock(fname) |
||
37 | logger.debug("Obtaining script lock") |
||
38 | self.flock.lock() |
||
39 | |||
40 | def __exit__(self, exc_type, exc_value, traceback): |
||
41 | ''' |
||
42 | Be a context manager. |
||
43 | ''' |
||
44 | logger.debug("Releasing script lock") |
||
45 | self.flock.unlock() |
||
46 |