From ff638e269d439c853b5182b68ff10777f12597f1 Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Sun, 5 Feb 2023 13:55:00 +1100 Subject: Use relative imports between data generation scripts Avoids the need for code that modifies sys.path, but requires running of the scripts using 'python -m' with backend/ as cwd. Also expects constants like DB_FILE to be non-relative, due to running from backend/. --- backend/hist_data/gen_picked_data.py | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) (limited to 'backend/hist_data/gen_picked_data.py') diff --git a/backend/hist_data/gen_picked_data.py b/backend/hist_data/gen_picked_data.py index a6bb8f8..2deb72c 100755 --- a/backend/hist_data/gen_picked_data.py +++ b/backend/hist_data/gen_picked_data.py @@ -4,28 +4,25 @@ Adds additional manually-picked events to the database """ -# For unit testing, resolve imports of modules within this directory -import os -import sys -parentDir = os.path.dirname(os.path.realpath(__file__)) -sys.path.append(parentDir) - import argparse -import json, sqlite3 +import os +import json +import sqlite3 -from gen_imgs import convertImage -from cal import SCALES, dbDateToHistDate, dateToUnit +from .gen_imgs import convertImage +from .cal import SCALES, dbDateToHistDate, dateToUnit -PICKED_DIR = 'picked' -PICKED_EVT_FILE = 'events.json' -DB_FILE = 'data.db' -IMG_OUT_DIR = 'img' +DATA_DIR = os.path.dirname(os.path.realpath(__file__)) +PICKED_DIR = os.path.join(DATA_DIR, 'picked') +PICKED_EVT_FILENAME = 'events.json' +DB_FILE = os.path.join(DATA_DIR, 'data.db') +IMG_OUT_DIR = os.path.join(DATA_DIR, 'img') -def genData(pickedDir: str, pickedEvtFile: str, dbFile: str, imgOutDir: str, scales: list[int]) -> None: +def genData(pickedDir: str, pickedEvtFileName: str, dbFile: str, imgOutDir: str, scales: list[int]) -> None: dbCon = sqlite3.connect(dbFile) dbCur = dbCon.cursor() - with open(os.path.join(pickedDir, pickedEvtFile)) as f: + with open(os.path.join(pickedDir, pickedEvtFileName)) as f: eventsToAdd = json.load(f) nextId = -1 for event in eventsToAdd: @@ -167,4 +164,4 @@ if __name__ == '__main__': parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) args = parser.parse_args() - genData(PICKED_DIR, PICKED_EVT_FILE, DB_FILE, IMG_OUT_DIR, SCALES) + genData(PICKED_DIR, PICKED_EVT_FILENAME, DB_FILE, IMG_OUT_DIR, SCALES) -- cgit v1.2.3