框架或库的设置框架。

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第三方库


热门话题
ByteArrayOutputStream的java解码属性   java S3 SDK在上载时更新单个对象,而不是创建新文件   java hibernate:无法从eclipse连接到DB   java如何在强制转换JComboBox之前检查其类型?   http从Java中的GETPOST请求方法捕获URI、资源名称,如开发人员工具中所示   java在Spring@Bean方法中返回接口的局限性   Java中的Web服务和客户端(使用Eclipse Apache Axis 2自底向上服务)某些代码会引发异常   java spring安全+rest不起作用   java将LinkedList添加到包含LinkedList的LinkedList并更改添加的LinkedList   java是否临时删除对象的属性?   java使用AnimatedGifEncoder类创建的gif图像的部分帧是不透明的   java如何高效地处理maven3时间戳快照?   java向集合对象添加另一项   java如何将动态参数传递给jquery函数   java使用libGdx桌面端口作为Android GLES20的仿真器