Yaml项目加载程序

YAML-Project-Loader的Python项目详细描述


yaml项目配置读取器

谁需要这个模块?

任何开发必须通过文本文件配置的应用程序的开发人员。如果您可以将一组这样的配置称为“项目”,则此模块可能适合您。

示例

  • 您的应用程序是一个代码生成器。
  • 应用程序的用户应该能够决定如何为不同的项目生成代码。
  • 它可以为多种语言自动生成代码。您决定每种语言都是软件的plugin
  • 根据不同的条件,代码必须包含或不包含某些内容(注释、优化、详细内容…)。似乎您有不同的上下文
  • 您希望有一种简单的方法来定义应用程序的项目与所有可能的配置有关的内容,例如:
    • 用户希望在一个项目中生成用于调试和发布的Matlab和C代码。对于调试,它还必须生成开发文档。
    • 该用户还希望生成python、node.js和dockerfiles,以便开发和发布。每个上下文的展开凭据和url都不同。

什么是项目?

在开发应用程序时,有时值得将project定义为我们的软件将使用的实体。

项目是一组具有已知格式并排列在一组已知文件夹中的文件。

它由保存此类文件结构的根目录的路径定义。

什么提供了这个模块?

  1. 这个模块提供了一个约定关于如何安排项目文件和一个python api来读取这组文件。
  2. 它将应用一种逻辑,说明插件和上下文配置必须如何合并到一个single配置对象中。

这个模块没有提供什么?

此模块不会告诉您在项目中需要哪些配置属性,或者哪些插件或上下文。 您必须决定plugins + contexts的结构是否适合您的软件,并决定在哪里放置什么。 然后,使用该模块,您可以调用一个api函数并获得一个完整的对象,在这里您可以读取所需的所有属性。

上下文

上下文是一组与应用程序的不同运行方式相关的条件。 想想经典开发中的debugrelease。或推出时developmentproduction

插件

插件是应用程序的可选部分,需要在每个项目中配置。 在一个项目中,插件配置在大多数情况下是相同的。

考虑一个报表生成器插件;您的应用程序对项目执行任何逻辑,并且可以选择生成报表。 这样的报告需要一种格式,一个输出文件夹,也许一些约定,一种语言……这些都是插件配置,它们几乎不会改变,不管上下文如何。

覆盖

上下文有时可以覆盖特定任务的插件配置。这并不常见,但是这个模块提供了一个简单的方法来实现这一点。

配置

配置是一个上下文和一个或多个插件配置的混合。 您的应用程序可能会:

  1. 询问项目中定义的配置
  2. 从中选择一个
  3. 调用yamlproject api从所选配置检索合并的配置
  4. 将合并对象传递给逻辑,以便可以使用值修改行为

本模块

此模块从定义项目配置的一组yaml文件在内存中创建结构。 项目是一个抽象的概念,建模为一组文件和文件夹,这些文件和文件夹将由某些软件读/写。 项目的结构是:

  • root.yaml定义的属性的根集。例如:名称、说明等。
  • 一组插件配置。处理项目的应用程序可以有插件。项目配置提供

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

推荐PyPI第三方库


热门话题
java如何在Android Wifi中筛选相同的SSID?   Java中重写接口中异常处理的泛型   java“无效转义序列(有效的是\b\t\n\f\r\”\“\”\)”语法错误   使用JNDI的java NameReadyBoundException   java如何在这个程序上执行算法   java为什么我的应用程序在调试时崩溃而应用程序停止?   Java:while循环未检测到中断条件,但如果块检测到   java如何快速使用jfreechart创建的折线图   java将输入放入JSTL会话变量,以便稍后在屏幕上显示   java在spring boot中加载外部JAR   java Apache NiFi无法使用ojdbc6连接到Oracle 12c。jar或ojdbc8。罐子   java解释StringToWordVector()Weka的输出   java charAt()找不到符号   使用mpjexpress的java阅读控制台输入