从命令行管理文本数据
rvo的Python项目详细描述
RVO
我使用rvo来管理我的文本数据。
- 注释
- 文档(个人维基)
- 书签
- 日记账
- 引号
等等。
动机
当我开始写rvo的时候,我的目标是设计一个感觉 有点像降价。它应该很容易使用。方便的程序 用户喜欢使用。同时它应该很容易 与其他工具集成。采用典型的unix方法。成功 读写到stdin/out。使用命令行完全配置 参数。
不管是人还是机器相互作用 与 rvo
功能
- 丰富的搜索功能
- 有关文档的统计信息
- 使用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 rvo0
同样,在没有重定向的情况下,通过使用 -s 标志来编辑内容。
pip install rvo1
标准物质
从stdin读取内容
pip install rvo2
导出
您可以轻松导出插入的所有内容。
pip install rvo3
或者只是循环输出
pip install rvo4
文件标识
作为典型的工作流,您可以执行列表查询,也可以使用 完整的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 rvo5
由于rvo使用 pymongo ,它处理文档的方式更简单。 python本机类型自动转换为相应的 输入json/mongodb。以下是本机python字典。
pip install rvo6
缺少
还有一些特性,rvo没有也可能永远得不到。
- 文档的版本控制
- 多个用户或一个"作者"字段。
最后但并非最不重要
不要将rvo与http://www.rvo.nl混淆。荷兰队。 与此无关。不过,我还是很喜欢他们的标志。