将yaml购物列表转换为不同格式的python工具
foodlist的Python项目详细描述
将yaml购物清单导出为不同格式。
关于
foodlist将简单的yaml购物列表转换为不同的格式。这个罐头 这样做是为了得到更好的布局或使它们对其他 应用。最初我做这个是为了能写简单的购物清单 在我的电脑上输入 Groceries.app,一个很棒的iphone购物清单应用程序。
我试着尽可能抽象地构建它,以便添加新的格式 很容易。
依赖关系
pyyaml用于输入解析,pystache用于填充输出模板。如果 pystache不可用或未提供模板,上下文对象是 简单地打印到屏幕上。
pip install pyyaml pip install pystache
安装
包本身可以通过pypi安装:
pip install foodlist
或者如果您必须这样做:
easy_install foodlist
这还将示例数据(模板和基础数据)安装到 站点包中的数据文件夹。
用法
创建这样的yaml列表:
aisle: - food - more food produce: - tomatoes - spinache
可执行文件可以为转换 列表和用于生成输出的胡子模板。
您还可以将文件放在默认搜索位置:
~/.foodlist/groceries.json ~/.foodlist/groceries.mustache
使用groceries.app格式和默认的 基本数据/模板:
export_foodlist.py list.yaml
明确给出模板和基础数据路径:
export_foodlist.py -b groceries.json -t groceries.mustache list.yaml
此外,还可以传递名称和格式:
export_foodlist.py -n "My awesome list" -f "groceries.app" list.yaml
膨胀
添加新格式相当容易。只需添加一个新的转换器方法 签名:
def new_converter_method(self, groceries_list, **kwargs)
参数为:
- groceries_list=从yaml列表解析的对象
- **kwargs附加参数,如基本数据路径等
kwargs = { "format" : "desired format", "name" : "name of the list", "base_data" : "path to base data file" }
然后将其添加到列表格式dict:
listformats = {'keyword': self.new_converter_method}
就这样。
待办事项
- 更多(或任何)测试用例
- 更多格式
谢谢
sophia teutschler for groceries.app并允许我包含json 基础数据。
历史
0.1.1(2010-06-01)
- 将groceries.json添加为包数据
0.1.0(2010-05-23)
- 初始版本