From 3f0b68a0d71e4fe80533b621d3502462ace54d73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=C3=ABl=20Bouillot?= Date: Mon, 6 Feb 2017 09:50:40 +0100 Subject: [PATCH] Use environment variables for paths --- data.py | 21 +++++++++++++-------- query.py | 9 ++++++++- script.sh | 8 ++++++-- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/data.py b/data.py index c2ee47d..5a387f1 100755 --- a/data.py +++ b/data.py @@ -6,6 +6,7 @@ from binascii import hexlify, unhexlify from io import BytesIO import re from lib import autoBytes +import os.path def pack_hash (a): a = a.encode ('ascii') @@ -118,8 +119,7 @@ import os.path class DirDB: def __init__ (self, dirname, contentType): - # FIXME: hardcoded path - self.path = 'databases/' + dirname + '/' + self.path = dirname + '/' self.ctype = contentType def exists (self, key): @@ -134,9 +134,9 @@ class DirDB: class BsdDB: def __init__ (self, filename, contentType): + self.filename = filename self.db = bsddb3.db.DB() - # FIXME: hardcoded path - self.db.open ('databases/' + filename, flags=bsddb3.db.DB_RDONLY) + self.db.open (filename, flags=bsddb3.db.DB_RDONLY) self.ctype = contentType def exists (self, key): @@ -150,7 +150,12 @@ class BsdDB: return p class DB: - def __init__ (self): - self.vers = DirDB ('versions', PathList) - self.defs = BsdDB ('definitions.db', DefList) - self.refs = BsdDB ('identrefs.db', RefList) + def __init__ (self, dir): + if os.path.isdir (dir): + self.dir = dir + else: + raise FileNotFoundError + + self.vers = DirDB (dir + '/versions', PathList) + self.defs = BsdDB (dir + '/definitions.db', DefList) + self.refs = BsdDB (dir + '/identrefs.db', RefList) diff --git a/query.py b/query.py index 6c27e3f..c19909f 100755 --- a/query.py +++ b/query.py @@ -4,8 +4,15 @@ from sys import argv from lib import echo, script, scriptLines import lib import data +import os -db = data.DB() +try: + dbDir = os.environ['LXR_DATA_DIR'] +except KeyError: + print (argv[0] + ': LXR_DATA_DIR needs to be set') + exit (1) + +db = data.DB (dbDir) cmd = argv[1] diff --git a/script.sh b/script.sh index b16bcaa..e3ed0a2 100755 --- a/script.sh +++ b/script.sh @@ -1,7 +1,11 @@ #!/bin/sh -# FIXME: hardcoded path -cd /srv/git/linux +if [ ! -d "$LXR_REPO_DIR" ]; then + echo "$0: Can't find repository" + exit 1 +fi + +cd "$LXR_REPO_DIR" test $# -gt 0 || set help