跳转到主要内容

全局、持久配置作为字典

项目描述

当项目开始增长时,需要一个全局可访问的配置管理器的需求很明显。

将配置映射到字典非常有用,但可能会在内存中引起问题。

Guachi不仅可以在磁盘上保留持久字典,还可以将INI样式的键映射到字典键,如果其中一些缺失,还可以填写默认值。

您不需要了解关于guachi如何存储值的任何信息,只需将其视为常规字典即可!

用户交互

假设您正在处理一个使用.ini文件的Twitter应用程序。这是一个示例INI文件及其外观

[DEFAULT]

app.twitter.username = alfredodeza
app.update.frequency = 60
app.load.startup = False

我们有一个用户名、一个频率以及启动选项的不同设置。

让我们处理它

ini_file = ``/Users/alfredo/.twwiter.ini``
conf = ConfigMapper(config_db_path)
conf.set_config(ini_file)

就这样!在这个时候,guachi已经解析了配置文件并存储了这些值。

让我们通过调用我们的键来查询它们

>>> db_conf = conf.stored_config()
>>> db_conf['frequency']
60

太棒了,我们现在可以确保我们有了我们的数据。实际上,我们可以通过这种方式从我们的Twitter应用程序的任何地方获取该值

db = ConfigMapper(config_db_path)
conf = db.stored_config()

frequency = conf['frequency']

获取默认值

在上文中,我们检查了一个包含一些更改值的INI文件。但是当用户没有任何值时会发生什么?

由于我们设置了默认值,我们可以确保它们就在那里,以防我们的应用程序在某些子模块中需要它们

>>> db = ConfigMapper(config_db_path)
>>> conf = db.stored_config()
>>> conf['load']
True

更新值

如果用户进行了更改怎么办?我们总是可以在加载时保存和更新从INI文件中读取的内容,以确保我们拥有用户的最新更改

conf = ConfigMapper(config_db_path)
conf.update_config(ini_file)

文档

我们的完整文档托管在这里。去看看完整的API。

http://guachi.googlecode.com/hg/docs/build/html/index.html

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

guachi-0.0.6.tar.gz (18.0 kB 查看哈希值)

上传时间 源代码

支持