def write_drill_dat(): wlock = FileLock(DAT_FILE, exclusive=True) # exclusive lock -> zum Schreiben wlock.lock() try: os.system(COMMAND) finally: wlock.unlock()
def read_drill_dat(value): VALUE = '' rlock = FileLock(DAT_FILE, exclusive=False) # shared lock -> Lesen rlock.lock() try: for line in file(DAT_FILE): line = line.strip() if line.startswith('#'): continue t = line.split('=', 1) if len(t) < 2: continue if t[0].strip() == value: VALUE = int(t[1].strip()) finally: rlock.unlock() return VALUE
def mirror_file_with_lock(fname, lockfile="/tmp/.lockfile_hk_vectorgen_mirror"): lock = FileLock(lockfile, timeout=60*10) lock.lock() result = mirror_file(fname) lock.release() return result