Skip to main content

框架或库的设置框架。

项目描述

配置框架

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

什么是配置框架?

您的框架或库可能需要默认设置,并且您希望您的用户更改它们。

许多开发人员编写了这种代码,而您将这样做。GluePlate就是它!

特征

易于编写 - 合并

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

只需将 Glue 导入为 _ 并像嵌套字典一样编写。

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.',
)

胶板从 os.environ['GLUE_PLATE_BASE_MODULE']导入名为settings的变量,这是一个基本设置。

然后glueplate查看settings.GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY并从os.environ[settings.GLUE_PLATE_ENVIRONMENT_VARIABLE_KEY]导入变量命名设置,这是用户自定义设置。自定义设置只需要用户需要覆盖或添加。

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)

附加到列表

您可能不想被您的用户覆盖,只需添加用户的附加数据。

胶板提供特殊的关键字前缀来附加原始设置变量。

  • GLUE_PLATE_PLUS_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]
  • GLUE_PLATE_PLUS_AFTER_

    与 GLUE_PLATE_PLUS_BEFORE_ 相同,但附加到后向。

    # 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只是您的进程中的一个。

您的基本设置可以使库的 gluplate 设置模块失效。

  • GLUE_PLATE_PARENT_MODULES

    将库的 gluplate 设置模块名称指定为列表。

    from glueplate import Glue as _
    
    
    settings = _(
        GLUE_PLATE_PARENT_MODULES=[
            'parentpackage1.parentpackage1_settings',
            'parentpackage2.parentpackage2_settings'
        ]
    )

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

gelplate-1.1.0.tar.gz (3.8 kB 查看哈希)

已上传 source

内置分布

gelplate-1.1.0-py2.py3-none-any.whl (4.7 kB 查看哈希)

已上传 py2 py3