Merge pull request #72 from k2patel/env-variables

Updating config file to look for env. variable, if not available use …
This commit is contained in:
th3r00t
2022-02-09 01:20:57 -05:00
committed by GitHub
4 changed files with 18 additions and 30 deletions

2
config.json vendored
View File

@@ -1 +1 @@
{"TITLE": "pyShelf E-Book Server", "VERSION": "0.7.0", "BOOKPATH": "", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": "*", "SECRET": "", "BUILD_MODE": "production"}
{"TITLE": "pyShelf E-Book Server", "VERSION": "0.7.0", "BOOKPATH": "/books", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": ["localhost", "127.0.0.1", "[::1]", "0.0.0.0"], "SECRET": "", "BUILD_MODE": "production"}

4
docker-compose.yml vendored
View File

@@ -3,15 +3,16 @@ version: "3.7"
services:
db:
image: "postgres"
restart: always
environment:
- "POSTGRES_PASSWORD=pyshelf"
- "POSTGRES_USER=pyshelf"
- "POSTGRES_DB=pyshelf"
volumes:
- "db_data:/var/lib/postgresql/data/"
pyshelf:
image: "pyshelf/pyshelf"
restart: always
ports:
- "8000:8000"
- "1337:1337"
@@ -19,6 +20,5 @@ services:
- "${LOCAL_BOOK_DIR}:/books"
depends_on:
- db
volumes:
db_data:

15
docker/config.json vendored
View File

@@ -1,14 +1 @@
{
"TITLE": "pyShelf E-Book Server",
"VERSION": "0.6.0 Docker",
"BOOKPATH": "/books",
"DB_HOST": "db",
"DB_PORT": "5432",
"DATABASE": "pyshelf",
"USER": "pyshelf",
"PASSWORD": "pyshelf",
"BOOKSHELF": "data/shelf.json",
"ALLOWED_HOSTS": "*",
"SECRET": "",
"BUILD_MODE": "production"
}
{"TITLE": "pyShelf E-Book Server", "VERSION": "0.7.0", "BOOKPATH": "/books", "DB_HOST": "localhost", "DB_PORT": "5432", "DATABASE": "pyshelf", "USER": "pyshelf", "PASSWORD": "pyshelf", "BOOKSHELF": "data/shelf.json", "ALLOWED_HOSTS": ["localhost", "127.0.0.1", "[::1]", "0.0.0.0"], "SECRET": "", "BUILD_MODE": "production"}

View File

@@ -1,7 +1,7 @@
import json
import pathlib
import re
import os
from loguru import logger
@@ -14,6 +14,7 @@ class Config:
Initialize main configuration options
"""
self.root = root
env = os.environ.copy()
self._fp = "config.json"
self._cp = pathlib.Path.joinpath(root, self._fp)
self._data = self.open_file()
@@ -21,23 +22,23 @@ class Config:
self.logger
except AttributeError:
self.logger = self.get_logger()
self.book_path = self._data["BOOKPATH"]
self.TITLE = self._data["TITLE"]
self.VERSION = self._data["VERSION"]
self.book_path = env.get("BOOKPATH", self._data["BOOKPATH"])
self.TITLE = env.get("TITLE", self._data["TITLE"])
self.VERSION = env.get("VERSION", self._data["VERSION"])
self.TITLE = self.TITLE + " ver " + self.VERSION
self.book_shelf = self._data["BOOKSHELF"]
self.catalogue_db = self._data["DATABASE"]
self.book_shelf = env.get("BOOKSHELF", self._data["BOOKSHELF"])
self.catalogue_db = env.get("DATABASE", self._data["DATABASE"])
self.user = self._data["USER"]
self.password = self._data["PASSWORD"]
self.db_host = self._data["DB_HOST"]
self.db_port = self._data["DB_PORT"]
self.db_host = env.get("DB_HOST", self._data["DB_HOST"])
self.db_port = env.get("DB_PORT", self._data["DB_PORT"])
self.file_array = [self.book_shelf]
self.auto_scan = True
self.allowed_hosts = self._data["ALLOWED_HOSTS"]
self.db_user = self._data["USER"]
self.db_pass = self._data["PASSWORD"]
self.SECRET = self._data["SECRET"]
self.build_mode = self._data["BUILD_MODE"]
self.allowed_hosts = env.get("ALLOWED_HOSTS", self._data["ALLOWED_HOSTS"])
self.db_user = env.get("USER", self._data["USER"])
self.db_pass = env.get("PASSWORD", self._data["PASSWORD"])
self.SECRET = env.get("SECRET", self._data["SECRET"])
self.build_mode = env.get("BUILD_MODE", self._data["BUILD_MODE"])
def get_logger(self):
_logger = logger