From 24fedb56080e724b85ca14b47a28cb261e2363c8 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Fri, 4 Sep 2020 18:04:51 +0200 Subject: [PATCH] rclconfig python implementation: raise exception if recoll datadir is not found --- src/python/recoll/recoll/rclconfig.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/python/recoll/recoll/rclconfig.py b/src/python/recoll/recoll/rclconfig.py index 01e7fc68..1356b7a2 100644 --- a/src/python/recoll/recoll/rclconfig.py +++ b/src/python/recoll/recoll/rclconfig.py @@ -63,13 +63,26 @@ class RclConfig: self.datadir = os.path.join(dir, "Share") break else: - dirs = ("/opt/local", "/usr", "/usr/local") + dirs = ("/opt/local", "/opt", "/usr", "/usr/local") for dir in dirs: dd = os.path.join(dir, "share/recoll") if os.path.exists(dd): self.datadir = dd if self.datadir is None: self.datadir = "/usr/share/recoll" + f = None + try: + f = open(os.path.join(self.datadir, "examples", "recoll.conf"), "r") + except: + pass + if f is None: + raise(Exception( + "Can't open default/system recoll.conf. " + + "Please set RECOLL_DATADIR in the environment to point " + + "to the installed recoll data files.")) + else: + f.close() + #print("Datadir: [%s]" % self.datadir, file=sys.stderr) self.cdirs = []