Env file.
This commit is contained in:
		
							parent
							
								
									149659064d
								
							
						
					
					
						commit
						2808952153
					
				| @ -1 +1,68 @@ | ||||
| """ | ||||
| MIT License | ||||
| 
 | ||||
| Copyright (c) 2025 retoor | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE. | ||||
| 
 | ||||
| Author: retoor <retoor@molodetz.nl> | ||||
| Description: Utility to load environment variables from a .env file. | ||||
| """ | ||||
| 
 | ||||
| import os | ||||
| from typing import Optional | ||||
| 
 | ||||
| def load_env(file_path: str = '.env') -> None: | ||||
|     """ | ||||
|     Loads environment variables from a specified file into the current process environment. | ||||
| 
 | ||||
|     Args: | ||||
|         file_path (str): Path to the environment file. Defaults to '.env'. | ||||
| 
 | ||||
|     Returns: | ||||
|         None | ||||
| 
 | ||||
|     Raises: | ||||
|         FileNotFoundError: If the specified file does not exist. | ||||
|         IOError: If an I/O error occurs during file reading. | ||||
|     """ | ||||
|     try: | ||||
|         with open(file_path, 'r') as env_file: | ||||
|             for line in env_file: | ||||
|                 line = line.strip() | ||||
|                 # Skip empty lines and comments | ||||
|                 if not line or line.startswith('#'): | ||||
|                     continue | ||||
|                 # Skip lines without '=' | ||||
|                 if '=' not in line: | ||||
|                     continue | ||||
|                 # Split into key and value at the first '=' | ||||
|                 key, value = line.split('=', 1) | ||||
|                 # Set environment variable | ||||
|                 os.environ[key.strip()] = value.strip() | ||||
|     except FileNotFoundError: | ||||
|         raise FileNotFoundError(f"Environment file '{file_path}' not found.") | ||||
|     except IOError as e: | ||||
|         raise IOError(f"Error reading environment file '{file_path}': {e}") | ||||
| 
 | ||||
| 
 | ||||
| try: | ||||
|     load_env() | ||||
| except Exception as e: | ||||
|     pass | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user