From 98c98fbac788bb7c0db5d762eeff941fecc1c679 Mon Sep 17 00:00:00 2001 From: shortcutme Date: Tue, 17 Dec 2019 15:02:18 +0100 Subject: [PATCH] Thread safe method to create directory for db --- src/Db/Db.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Db/Db.py b/src/Db/Db.py index 9f372fc3..b7cfd501 100644 --- a/src/Db/Db.py +++ b/src/Db/Db.py @@ -108,9 +108,12 @@ class Db(object): if self not in opened_dbs: opened_dbs.append(self) s = time.time() - if not os.path.isdir(self.db_dir): # Directory not exist yet + try: # Directory not exist yet os.makedirs(self.db_dir) self.log.debug("Created Db path: %s" % self.db_dir) + except OSError as err: + if err.errno != errno.EEXIST: + raise err if not os.path.isfile(self.db_path): self.log.debug("Db file not exist yet: %s" % self.db_path) self.conn = sqlite3.connect(self.db_path, isolation_level="DEFERRED", check_same_thread=False)