Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save RodolpheGohard/a0a7e10cde1a5eb6e760193efbb47c1a to your computer and use it in GitHub Desktop.
Save RodolpheGohard/a0a7e10cde1a5eb6e760193efbb47c1a to your computer and use it in GitHub Desktop.
Extracts a .pgpass file from spring datasource in .properties
import sys
from configparser import ConfigParser
from urllib.parse import urlparse
CONFIG_PATH = sys.argv[1] if len(sys.argv)>1 else "application.properties"
with open(CONFIG_PATH, 'r') as f:
config_string = '[dummy]\n' + f.read()
config = ConfigParser()
config.read_string(config_string)
url = config["dummy"]["spring.datasource.url"][5:] # strip jdbc:
parsed_url = urlparse(url)
hostname = parsed_url.hostname
port = parsed_url.port
db_name = parsed_url.path[1:]
username = config["dummy"]["spring.datasource.username"]
password = config["dummy"]["spring.datasource.password"]
# nom_hote:port:database:nomutilisateur:motdepasse
print(f"{hostname}:{port}:{db_name}:{username}:{password}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment