从命令行管理文本数据

rvo的Python项目详细描述


RVO

我使用rvo来管理我的文本数据。

  • 注释
  • 文档(个人维基)
  • 书签
  • 日记账
  • 引号

等等。

动机

当我开始写rvo的时候,我的目标是设计一个感觉 有点像降价。它应该很容易使用。方便的程序 用户喜欢使用。同时它应该很容易 与其他工具集成。采用典型的unix方法。成功 读写到stdin/out。使用命令行完全配置 参数。

不管是人还是机器相互作用 与 rvo

功能

https://raw.github.com/noqqe/rvo/master/images/screenshot.png
  • 丰富的搜索功能
  • 有关文档的统计信息
  • 使用salsa20和blake2b对单个文档进行加密
  • 与vim交互
  • 获取链接的标题作为文档的标题
  • 把一篇文章寄给你的朋友。
  • 使用stdin/stdout轻松与其他程序交互

安装

目前,rvo只在python2.7中工作

pip install rvo

之后,安装MongoDB。你可以使用你最喜欢的包管理器。 对我来说是openbsds"pkg_add"。

/etc/init.d/mongod start

配置

将其添加到配置文件 ~/.rvo.conf

[General]
MongoDB = mongodb://localhost/
DB = rvo
Editor = vim
Pager = vim
PagerOptions = -R
MailFrom = user@example.net

成功配置后,运行ping到verfiy 到MongoDB的连接正常。

$ rvo ping
>>> Trying to connect to database...
>>> Connection SUCCESSFUL
>>> Trying to write, read, delete to test_collection...
>>> Interactions were SUCCESSFUL

快速启动

rvo是一个非常友好的软件。它可以在任何需要的时候帮助你。 您可以从一个简单的

$ rvo --help

要添加文档,只需

$ rvo add

塔达,你的第一份文件被创建了。添加你喜欢的内容。如前所述, 你可以储存笔记,写日记。之后,请查看您的文档。

$ rvo list

就这些。只是开玩笑。看看其他的命令!

add       Add a document.
analyze   Text analysis on a document
append    Append content to a document.
delete    Deletes a document.
edit      Edit the content of an document.
export    Exports all document
info      Shows metadata of a document
list      List documents from store
log       Show transactions
mail      Mails a document to a recipient for your choice
memories  Some nostalgia by showing documents some years ago
modify    Modifies a documents metadata
ping      Verifys the connection to the database
show      Shows a document
stats     Show statistics about categories and tags

文档标题

普通文档的标题是从 内容。前导空白和 将被删除。

$ rvo add -t javascript -c notes
# Meeting Notes

* We should probably throw away our .js applications
* ...

所以"会议记录"将成为文件标题。编辑时也会发生这种情况 文件。所以如果你想改变标题,编辑内容然后 萨维更新标题。

标准输出

通常, rvo 会打开您最喜欢的寻呼机。如果输出重定向 如果检测到,它只会将纯内容输出到您喜欢的任何文件。

pip install rvo
0

同样,在没有重定向的情况下,通过使用 -s 标志来编辑内容。

pip install rvo
1

标准物质

从stdin读取内容

pip install rvo
2

导出

您可以轻松导出插入的所有内容。

pip install rvo
3

或者只是循环输出

pip install rvo
4

文件标识

作为典型的工作流,您可以执行列表查询,也可以使用 完整的MongoDB对象ID或ShortID。

每次执行列表查询时,都会生成一个resultset。每一个结果 获取分配给它的shortid,此映射将保存在 MungDb.</P>

我实现了shortid,因为它们更容易使用。你没有 用鼠标复制完整的objectid。 shortid 更容易 使用!

加密

使用的密码是用 salsa20 blake2b 编写的。当第一个 文档被创建并加密,rvo会提示输入初始密码。 保存此密码。您将更经常地需要它。

您设置的密码用于加密随机生成的长字符 密码。它存储在数据库中。最重要的。生成的密码 用于对每个文档进行加密和解密(设置加密时)。

基本上这意味着:有一个密码(由您选择)可以解锁 另一个生成的密码,用于加密文档。

这保证了很多东西。例如,为用户轻松更改密码。 或意外地为一个文档设置稍有不同的密码。

链接

链接:如果内容只是一个url,它会自动获取类别 链接 及其html标题将被获取以用作 标题 在文档中。

开发

措辞。

  • docid是用于标识文档的内容。两者都可以,A shortid或objectid(mongodb)
  • 目前,documentstore基本上是指mongodb
  • 所有命令都必须存储在子模块命令中,并且可以包含 只有一个命令必须与文件名完全相同。这个 需要单击才能分析所有命令。

数据结构

进入MongoDB的本地JSON文档如下所示

pip install rvo
5

由于rvo使用 pymongo ,它处理文档的方式更简单。 python本机类型自动转换为相应的 输入json/mongodb。以下是本机python字典。

pip install rvo
6

缺少

还有一些特性,rvo没有也可能永远得不到。

  • 文档的版本控制
  • 多个用户或一个"作者"字段。

最后但并非最不重要

不要将rvo与http://www.rvo.nl混淆。荷兰队。 与此无关。不过,我还是很喜欢他们的标志。

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

推荐PyPI第三方库


热门话题
java需要将可传递依赖项作为捆绑包导入KURA   读取一个大JSON文件并用Java处理   如何用Java配置覆盖springbean   包含坐标系中尽可能多的给定点的java框   java如何从静态方法返回非静态变量?   Java泛型函数   保存父实体时未持久化java子实体   java在Android上使用drawable加载形状   独立链式散列中的java错误   java“latin1_german1_ci”排序从何而来?   java Spring/Hibernate@Transactional如果后面跟着第二个@Transactional调用,则不刷新事务   java中的swing层图像   java如何在JSP中循环存储在Spring HashMap模型中的键和值?   java集合仍然存在,但不会出现在另一侧   java将自定义MediaType与JSON MediaType映射