框架或库的设置框架。
glueplate的Python项目详细描述
配置框架
什么是配置框架?
您的框架或库可能需要默认设置,您希望用户更改这些设置。
许多开发人员编写了这种代码,您将要编写这种代码。就是胶板!
功能
易于编写-合并
你和你的用户写起来很容易。
只需将胶水导入为并像嵌套的dict一样写入即可。
from glueplate import Glue as _ settings = _( GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY = 'BASEPACKAGE_SETTINGS_MODULE', from_base = 'comming from base', to_be_override = 'I am base.', )
GLUE PLATE导入变量名为settingsfrom os.environ['GLUE_PLATE_BASE_MODULE'],这是一个基本设置
然后GLUE PLATE查找settings.GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY并从os.environ[settings.GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY]导入名为settings的变量,这是用户自定义的设置自定义设置只需要用户需要覆盖或添加。
from glueplate import Glue as _ settings = _( from_sub='comming from sub', to_be_override = 'I am sub.', )
它们合并在一起,易于使用。
from glueplate import config assert('I am sub' == config.settings.to_be_override) assert('comming from base' == config.settings.from_base) assert('comming from sub' == config.settings.from_sub)
附加到列表
您可能不想被用户覆盖,只需添加用户的附加数据。
Glueplate提供特殊的关键字前缀来附加原始设置变量。
在前涂上胶水
User can append list before.
# base settings = _( list1 = [1,2,3], ) # user customized settings = _( GLUE_PLATE_PLUS_BEFORE_list1 = [5,4] ) # config.settings.list1 == [5, 4, 1, 2, 3]
胶合板
Same as GLUE_PLATE_PLUS_BEFORE_ but append to backward.
# base settings = _( list1 = [1,2,3], ) # user customized settings = _( GLUE_PLATE_PLUS_AFTER_list1 = [5,4] ) # config.settings.list1 == [1, 2, 3, 5, 4]
继承其他胶板
你可以用胶板来使用图书馆。环境变量glue-plate-base-module是进程中唯一的变量。
您的基本设置可以索引库的胶版设置模块。
- < L>>P>胶接板PARTENTH模块
Specify library’s gluplate settings module names as list.
from glueplate import Glue as _ settings = _( GLUE_PLATE_PARENT_MODULES=[ 'parentpackage1.parentpackage1_settings', 'parentpackage2.parentpackage2_settings' ] )