From 3ef9c01f2f4378f9805bafa670aa251f8b29dce0 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Fri, 22 Aug 2025 18:40:29 +0200 Subject: [PATCH] mclog2psql: add option for port, take password file --- mclog2psql/main.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/mclog2psql/main.py b/mclog2psql/main.py index 4aa3176..04df920 100644 --- a/mclog2psql/main.py +++ b/mclog2psql/main.py @@ -68,6 +68,7 @@ def conjoin_sessions(event_log: list[LoginLogoutEvent]) -> list[LoginSpan]: def insert_sessions_into_db( session_log: list[LoginSpan], host: str, + port: int, database: str, username: str, password: str | None, @@ -77,6 +78,7 @@ def insert_sessions_into_db( conn = psycopg2.connect( host=host, database=database, + port=port, user=username, password=password, ) @@ -110,6 +112,7 @@ class Arguments: dir: Path password: str | None host: str = "localhost" + port: int = 5432 database: str = "minecraft_heatmap" username: str = "minecraft_heatmap" @@ -150,6 +153,15 @@ def parse_args(): help="Database host (default: localhost).", ) + parser.add_argument( + "--port", + type=int, + default=5432, + action=EnvDefault, + envvar="MINECRAFT_HEATMAP_DB_PORT", + help="Database port (default: 5432).", + ) + parser.add_argument( "--database", type=str, @@ -169,13 +181,13 @@ def parse_args(): ) parser.add_argument( - "--password", + "--password-file", type=str, required=False, default=None, action=EnvDefault, - envvar="MINECRAFT_HEATMAP_DB_PASSWORD", - help="Database password (default: None).", + envvar="MINECRAFT_HEATMAP_DB_PASSWORD_FILE", + help="Database password file (default: None).", ) return parser.parse_args() @@ -196,10 +208,16 @@ if __name__ == "__main__": print(f"Found {len(session_log)} login sessions.") + password = None + if args.password_file: + with open(args.password_file, "r") as f: + password = f.read().strip() + insert_sessions_into_db( session_log, args.host, + args.port, args.database, args.username, - args.password, + password, )