From e249aaa7a7b4fa0d81330d4ce8afff2e89377e43 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Mon, 24 Mar 2025 08:46:42 +0100 Subject: [PATCH] Add dotenv generator usage as such `-g dotenv` Should also be abble to make the PyCharmRunEnv generators absolete, but untested. PyCharm allows for setting a `.env` file for a script such as `cura_app.py` Contributes to NP-822 --- extensions/generators/dotenv.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 extensions/generators/dotenv.py diff --git a/extensions/generators/dotenv.py b/extensions/generators/dotenv.py new file mode 100644 index 0000000..ea9d264 --- /dev/null +++ b/extensions/generators/dotenv.py @@ -0,0 +1,22 @@ +import os +from conan.tools.env import VirtualRunEnv +from conan.tools.files import copy, save, load + +class dotenv: + + def __init__(self, conanfile): + self._conanfile = conanfile + + def generate(self): + run_env = VirtualRunEnv(self._conanfile) + env = run_env.environment() + env_vars = env.vars(self._conanfile, scope="run") + output_file = ".env" + self._conanfile.output.info(f"Generating '{output_file}' with run environment variables...") + + content = "" + for key, value in env_vars.items(): + content += f"{key}={value}\n" + self._conanfile.output.info(f"'{output_file}' generated successfully.") + save(self._conanfile, output_file, content) + self._conanfile.output.info(f"Saved '{output_file}' to the current directory.")