mirror of https://github.com/borgbackup/borg.git
Repository.open: use stat() to check for repo dir, fixes #4695
This commit is contained in:
parent
0538dbfd64
commit
ec3fad0f85
|
@ -2,6 +2,7 @@ import errno
|
||||||
import mmap
|
import mmap
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
import stat
|
||||||
import struct
|
import struct
|
||||||
import time
|
import time
|
||||||
from binascii import hexlify, unhexlify
|
from binascii import hexlify, unhexlify
|
||||||
|
@ -386,8 +387,12 @@ class Repository:
|
||||||
|
|
||||||
def open(self, path, exclusive, lock_wait=None, lock=True):
|
def open(self, path, exclusive, lock_wait=None, lock=True):
|
||||||
self.path = path
|
self.path = path
|
||||||
if not os.path.isdir(path):
|
try:
|
||||||
|
st = os.stat(path)
|
||||||
|
except FileNotFoundError:
|
||||||
raise self.DoesNotExist(path)
|
raise self.DoesNotExist(path)
|
||||||
|
if not stat.S_ISDIR(st.st_mode):
|
||||||
|
raise self.InvalidRepository(path)
|
||||||
if lock:
|
if lock:
|
||||||
self.lock = Lock(os.path.join(path, 'lock'), exclusive, timeout=lock_wait, kill_stale_locks=hostname_is_unique()).acquire()
|
self.lock = Lock(os.path.join(path, 'lock'), exclusive, timeout=lock_wait, kill_stale_locks=hostname_is_unique()).acquire()
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue