使用传输格式的命令行工具

transito的Python项目详细描述


https://img.shields.io/pypi/v/transito.svghttps://img.shields.io/travis/marianoguerra/transito.svgDocumentation Status

使用传输格式的命令行工具

功能

  • 转换为并形成json、edn、transit
  • 从stdin或文件中读取内容

用法

$ transito -h
usage: transito [-h] {t2j,j2t,e2t,t2e,http} ...

Transit CLI

positional arguments:
  {t2j,j2t,e2t,t2e,http}
    t2j                 convert transit to json
    j2t                 convert json to transit
    e2t                 convert edn to transit
    t2e                 convert transit to edn
    http                make http requests with transit data

optional arguments:
  -h, --help            show this help message and exit

转换

将传输从文件转换为json:

$ transito t2j examples/ex1.transit

[":keyword", "~lala", 1, 1.2, true, null, [], ["hi", "a"]]

将传输从stdin转换为json:

$ transito t2j -

["~#list",["~:keyword","~$lala",1,1.2,true,null,[],["hi",["~#char","a"]]]]
[":keyword", "~lala", 1, 1.2, true, null, [], ["hi", "a"]]

注意

第一行是输入,然后按enter和ctrl+d

来自另一个命令的管道:

$ echo '["~#list",["~:keyword","~$lala",1,1.2,true,null,[],["hi",["~#char","a"]]]]' | transito t2j -

[":keyword", "~lala", 1, 1.2, true, null, [], ["hi", "a"]]

EDN相同:

$ transito t2e examples/ex1.transit

(keyword lala 1 1.2 true nil [] ["hi" \a])
$ echo '["~#list",["~:keyword","~$lala",1,1.2,true,null,[],["hi",["~#char","a"]]]]' | transito t2e -

(keyword lala 1 1.2 true nil [] ["hi" \a])
$ transito t2e -

["~#list",["~:keyword","~$lala",1,1.2,true,null,[],["hi",["~#char","a"]]]]
(keyword lala 1 1.2 true nil [] ["hi" \a])

你应该有这个想法,一些以transit作为输出,以防万一:

$ transito e2t -
(keyword lala 1 1.2 true nil [] ["hi" \a])
["~#list",["~$keyword","~$lala",1,1.2,true,null,[],["hi",["~#char","a"]]]]

$ transito t2j -
["~#list",["~$keyword","~$lala",1,1.2,true,null,[],["hi",["~#char","a"]]]]
["~keyword", "~lala", 1, 1.2, true, null, [], ["hi", "a"]]

注意

到json的转换是有损耗的,这意味着为了不崩溃 序列化关键字、符号和字符时,我们会进行有损序列化, 字符是字符串,关键字是以:开头的字符串,符号是 以~开头的字符串。

此翻译的目的是提供一种查看edn或transit的方法 作为json,不应用于将此数据发送到生产系统。

http请求

您可以发出一个http请求,该请求支持transit、json或edn,但可以写入和 以更可读的方式读取请求和响应,例如,使 请求写入将在发送前转换为传输的edn, 如果可能,响应将转换为EDN,使其更具可读性:

$ echo '(increment {:value 20})' | transito http post http://localhost:8080/action e2t -

Status: 200
Content-Type: application/transit+json
Content-Length: 28

{:value [:count]}

你可能会问,是不是完成了?是的,是的。

学分

用于呈现此包的工具:

历史记录

0.1.3(2015-12-01)

  • 在edn中添加对具有命名空间的关键字的支持

0.1.2(2015-26-11)

  • 修复http响应上传输的edn编码

0.1.1(2015-25-11)

  • 添加对http请求的支持
  • 修复edn中的关键字序列化

0.1.0(2015-25-11)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
java如何在sqlite数据库中保存特定列的历史记录   java如何更改/更新timeseriechart名称(JFreeChart)   java如何将整数转换为可绘制的   汇编什么解释Java的字节码   java查找已编译的类版本号   我应该什么时候在ColdFusion应用程序中使用Java?   java当一个实体的两个字段为(unique=true)时,如何处理JPA异常?   java为什么在所有其他实例都正确的情况下返回错误的布尔值?   java Hibernate每次都准备语句   java停留在平均字长上   对Java和日语字符进行编码   java如何将导致异常的方法的错误消息传递给侦听器中的onTestFailure方法   java代码没有打印结果   java为什么私有内部接口的方法必须是公共的?   休眠发生错误。有关详细信息,请参阅错误日志。JAVAlang.NullPointerException