将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)

  • 初始版本

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

推荐PyPI第三方库


热门话题
JavaGCP:一个VM可以位于具有相同地址的不同网络上吗?   java查找安卓中第一个数组的第二个数组中存在的元素的索引   java摄像头活动不工作,设置参数失败   用于python的Base64转换的Java等效代码   为什么JPA/Hibernate在我尝试运行@Query时抛出“java.lang.NegativeArraySizeException:1”?   如何在ubuntu for java的终端上设置路径?   java为什么这两个IP不同?   java JPA:如何将本机查询结果集转换为POJO类集合   java如何在|(12)|(23)中用数字拆分字符串   异常处理如何让程序在达到Java目标后停止运行   java如何不添加以特定字符开头的元素   java如何通过字符串获得swing按钮名称?   java如何在响应不成功时读取改装中的错误体?   java*更新*现在我的程序可以编译但不运行了?