mirror of
				https://github.com/avatao-content/baseimage-tutorial-framework
				synced 2025-11-04 07:52:55 +00:00 
			
		
		
		
	Simplify package structure
This commit is contained in:
		
							
								
								
									
										1
									
								
								tfw/config/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								tfw/config/__init__.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
from .envvars import TFWENV, TAOENV
 | 
			
		||||
							
								
								
									
										5
									
								
								tfw/config/envvars.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								tfw/config/envvars.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
from .lazy_environment import LazyEnvironment
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
TFWENV = LazyEnvironment('TFW_', 'tfwenvtuple').environment
 | 
			
		||||
TAOENV = LazyEnvironment('AVATAO_', 'taoenvtuple').environment
 | 
			
		||||
							
								
								
									
										22
									
								
								tfw/config/lazy_environment.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tfw/config/lazy_environment.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
from collections import namedtuple
 | 
			
		||||
from os import environ
 | 
			
		||||
 | 
			
		||||
from tfw.internals.lazy import lazy_property
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class LazyEnvironment:
 | 
			
		||||
    def __init__(self, prefix, tuple_name):
 | 
			
		||||
        self._prefix = prefix
 | 
			
		||||
        self._tuple_name = tuple_name
 | 
			
		||||
 | 
			
		||||
    @lazy_property
 | 
			
		||||
    def environment(self):
 | 
			
		||||
        return self.prefixed_envvars_to_namedtuple()
 | 
			
		||||
 | 
			
		||||
    def prefixed_envvars_to_namedtuple(self):
 | 
			
		||||
        envvars = {
 | 
			
		||||
            envvar.replace(self._prefix, '', 1): environ.get(envvar)
 | 
			
		||||
            for envvar in environ.keys()
 | 
			
		||||
            if envvar.startswith(self._prefix)
 | 
			
		||||
        }
 | 
			
		||||
        return namedtuple(self._tuple_name, envvars)(**envvars)
 | 
			
		||||
		Reference in New Issue
	
	Block a user