diff --git a/main.py b/main.py index c8647f2..801858b 100755 --- a/main.py +++ b/main.py @@ -12,14 +12,14 @@ # To get you started we've included code to prevent your Battlesnake from moving backwards. # For more info see docs.battlesnake.com +from server.CreateEnvironmentFile import CreateEnvironmentFile from server.Server import Server -from dotenv import load_dotenv, find_dotenv import os # Start server when `python main.py` is run if __name__ == "__main__": - load_dotenv(find_dotenv()) + CreateEnvironmentFile.load_dotenv({"STORE_GAME_HISTORY": True, "DEBUG": True, "SNAKE": "DummSnake"}) server = Server( data_path=os.path.dirname(__file__), diff --git a/server/CreateEnvironmentFile.py b/server/CreateEnvironmentFile.py new file mode 100644 index 0000000..88b4515 --- /dev/null +++ b/server/CreateEnvironmentFile.py @@ -0,0 +1,26 @@ +from dotenv import load_dotenv, find_dotenv +import os + +class CreateEnvironmentFile: + def __init__(self): + self.path = find_dotenv() + + def create_file(self, environment_vars:dict[str], path:str="./.env"): + if environment_vars: + data = self.convert_dict_to_list(environment_vars) + with open(path, 'w') as f: + f.writelines(data) + + def convert_dict_to_list(self, data_dict:dict): + data = [] + for k, v in data_dict.items(): + data.append(f"{k}={v}\n") + return data + + @classmethod + def load_dotenv(cls, environment_vars:dict[str]=None): + new_class = cls() + if os.path.exists(new_class.path): + return load_dotenv(new_class.path) + else: + return new_class.create_file(environment_vars)