diff --git a/.env_example b/.env_example index 96ee72d..b08ee57 100644 --- a/.env_example +++ b/.env_example @@ -1,3 +1,4 @@ +POSTGRES_ACTIVE=false POSTGRES_USER = postgres POSTGRES_DB = university POSTGRES_PASS = pass diff --git a/README.md b/README.md index fc03a23..dd69f78 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ Затем откройте `.env` и при необходимости измените значения: ```env +POSTGRES_ACTIVE=false # включить PostgreSQL-часть приложения, установив true POSTGRES_USER=postgres POSTGRES_DB=university POSTGRES_PASS=your_password @@ -93,4 +94,4 @@ pip install -r requirements.txt py main.py ``` -Приложение подключится к PostgreSQL, создаст БД/таблицу и тестовые данные (если их еще нет), выполнит запрос к Neo4j, Apache AGE и/или InfluxDB 3 Core (если они активны), а затем отобразит результаты в отдельных окнах. \ No newline at end of file +Для PostgreSQL, Neo4j, Apache AGE и InfluxDB 3 Core запросы также выполняются только при `*_ACTIVE=true`. \ No newline at end of file diff --git a/main.py b/main.py index 7c0b5e3..494c833 100644 --- a/main.py +++ b/main.py @@ -17,6 +17,7 @@ POSTGRES_DB = os.getenv("POSTGRES_DB") POSTGRES_PASS = os.getenv("POSTGRES_PASS") POSTGRES_HOST = os.getenv("POSTGRES_HOST") POSTGRES_PORT = os.getenv("POSTGRES_PORT") +POSTGRES_ACTIVE = os.getenv("POSTGRES_ACTIVE", "false").lower() == "true" NEO_ACTIVE = os.getenv("NEO_ACTIVE", "false").lower() == "true" NEO_USER = os.getenv("NEO_USER") @@ -219,11 +220,11 @@ def load_users(): class MainWindow(QMainWindow): - def __init__(self): + def __init__(self, postgres_active): super().__init__() self.setMinimumSize(QSize(640, 480)) - self.setWindowTitle("postgres") + self.setWindowTitle("postgres" if postgres_active else "postgres (disabled)") central_widget = QWidget(self) self.setCentralWidget(central_widget) @@ -319,10 +320,15 @@ class DataWindow(QWidget): if __name__ == "__main__": - users = load_users() + users = [] + if POSTGRES_ACTIVE: + try: + users = load_users() + except Exception as error: + print(f"PostgreSQL load failed: {error}") app = QApplication(sys.argv) - main_window = MainWindow() + main_window = MainWindow(POSTGRES_ACTIVE) main_window.load_data(users) main_window.show()