框架或库的设置框架。

glueplate的Python项目详细描述


配置框架

https://travis-ci.org/tsuyukimakoto/glueplate.svg?branch=masterhttps://codecov.io/gh/tsuyukimakoto/glueplate/branch/master/graph/badge.svghttps://pyup.io/repos/github/tsuyukimakoto/glueplate/shield.svghttps://pyup.io/repos/github/tsuyukimakoto/glueplate/python-3-shield.svghttps://codebeat.co/badges/bb625f2e-572a-410f-9019-08006aac86cf

什么是配置框架?

您的框架或库可能需要默认设置,您希望用户更改这些设置。

许多开发人员编写了这种代码,您将要编写这种代码。就是胶板!

功能

易于编写-合并

你和你的用户写起来很容易。

只需将胶水导入为并像嵌套的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'
        ]
    )
    

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jboss LinkageError:加载程序约束冲突:解析重写的方法时   java Struts 1:如何使用表单bean设置<html:multibox/>值?   使用Fortify将字段设置为Null时的Java Null取消引用   用java对连接字符的图像进行分割   java无法使用Quarkus模拟,NullPointer异常,无法找到相关导入   html试图使iframe垫片与Java小程序上的CSS下拉菜单一起工作   java无法获取Base64。decodeBase64正常工作(Commons编解码器)   java为什么我不能通过点击打开jar文件?   java当用户第一次使用预先填充的sqlite数据库时,安卓应用程序如何添加新的列或表?   在tomcat中安装java GoDaddy SSL证书。。。没有与私钥匹配的证书   java试图实现一些伪代码、算法   java如何读取其他按钮id,避免所有转到第一个按钮   java使用单个   oop为什么Java Map不扩展集合?