1234567891011121314151617181920212223242526 |
- import json
- from pathlib import Path
- # Update the .env file with the answers from the .copier-answers.yml file
- # without using Jinja2 templates in the .env file, this way the code works as is
- # without needing Copier, but if Copier is used, the .env file will be updated
- root_path = Path(__file__).parent.parent
- answers_path = Path(__file__).parent / ".copier-answers.yml"
- answers = json.loads(answers_path.read_text())
- env_path = root_path / ".env"
- env_content = env_path.read_text()
- lines = []
- for line in env_content.splitlines():
- for key, value in answers.items():
- upper_key = key.upper()
- if line.startswith(f"{upper_key}="):
- if " " in value:
- content = f"{upper_key}={value!r}"
- else:
- content = f"{upper_key}={value}"
- new_line = line.replace(line, content)
- lines.append(new_line)
- break
- else:
- lines.append(line)
- env_path.write_text("\n".join(lines))
|