From 7fd403bd4090ae4b472c3c380d56016e0c068222 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Fri, 13 Jun 2025 11:14:06 +0200 Subject: [PATCH] timezone fix --- scipaperloader/__init__.py | 14 +++++++++++++- scipaperloader/config.py | 2 +- scipaperloader/scheduler.py | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/scipaperloader/__init__.py b/scipaperloader/__init__.py index d8f814e..f9658c3 100644 --- a/scipaperloader/__init__.py +++ b/scipaperloader/__init__.py @@ -8,9 +8,21 @@ from .blueprints import register_blueprints from .scheduler import ScraperScheduler def create_app(test_config=None): - app = Flask(__name__) + app = Flask(__name__, instance_relative_config=True) app.config.from_object(Config) + # Ensure the instance folder exists + import os + try: + os.makedirs(app.instance_path) + except OSError: + pass + + # Set the database URI to use absolute path if it's the default relative path + if app.config['SQLALCHEMY_DATABASE_URI'] == "sqlite:///instance/papers.db": + db_path = os.path.join(app.instance_path, 'papers.db') + app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{db_path}' + if test_config: app.config.update(test_config) diff --git a/scipaperloader/config.py b/scipaperloader/config.py index 7222ec2..c2661fe 100644 --- a/scipaperloader/config.py +++ b/scipaperloader/config.py @@ -3,7 +3,7 @@ import os class Config: SECRET_KEY = os.environ.get("SECRET_KEY", "dev") - SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///papers.db") + SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///instance/papers.db") SQLALCHEMY_TRACK_MODIFICATIONS = False APP_TITLE = os.environ.get("APP_TITLE", "SciPaperLoader") SCRAPER_MODULE = os.environ.get("SCRAPER_MODULE", "dummy") diff --git a/scipaperloader/scheduler.py b/scipaperloader/scheduler.py index a351411..17995d0 100644 --- a/scipaperloader/scheduler.py +++ b/scipaperloader/scheduler.py @@ -298,7 +298,7 @@ class ScraperScheduler: jobstores=jobstores, executors=executors, job_defaults=job_defaults, - timezone='UTC' + timezone=None # Use system timezone instead of UTC ) # Add event listeners