move config files to config/ folder
This commit is contained in:
29
scripts/flock.py
Executable file
29
scripts/flock.py
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import fcntl, os, subprocess, sys, errno
|
||||
|
||||
# from http://stackoverflow.com/a/600612
|
||||
def mkdir_p(path):
|
||||
try:
|
||||
os.makedirs(path)
|
||||
except OSError as exc: # Python >2.5
|
||||
if exc.errno == errno.EEXIST and os.path.isdir(path):
|
||||
pass
|
||||
else: raise
|
||||
|
||||
def flock(lockfile, cmd_list, verbose = False):
|
||||
mkdir_p(os.path.dirname(lockfile))
|
||||
fd = os.open(lockfile, os.O_RDONLY | os.O_NOCTTY | os.O_CREAT, 0o666)
|
||||
fcntl.flock(fd, fcntl.LOCK_EX)
|
||||
if verbose:
|
||||
print(' '.join(cmd_list))
|
||||
return subprocess.call(cmd_list)
|
||||
|
||||
if '__main__' == __name__:
|
||||
try:
|
||||
if sys.argv[1] == '-v':
|
||||
sys.exit(flock(sys.argv[2], sys.argv[3:], True))
|
||||
else:
|
||||
sys.exit(flock(sys.argv[1], sys.argv[2:]))
|
||||
except KeyboardInterrupt:
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user