一个基于sqlite的视频游戏收藏管理模块

vgstash的Python项目详细描述


vgstash-存放游戏收藏的地方

如果你喜欢电子游戏,你可能已经收集了一系列的 许多不同的系统;物理的,数字的,以及介于两者之间的一切。在一些 关键是,玩家可能想知道一些关键的信息 他们的游戏。这些问题对于抑制无聊和保持 游戏积压管理:

  • 我拥有哪些游戏?
  • 我赢过或完成过哪些比赛?
  • 我需要打败哪些比赛?
  • 我留给X游戏的纸条是什么?

vgstash试图以一种简单和可扩展的方式回答这些类型的问题。

安装

vgstash可通过pip

pip install [--user] vgstash

请注意,vgstash目前正在大力开发中。不安装 除非你有兴趣帮助它的发展。

概念

vgstash的核心概念是游戏本身。玩家的每场比赛 集合有几个重要的属性,这些属性对 球员:

  • 标题
  • 系统
  • 所有权
    • 无主
    • 物理
    • 数字
    • 两者都
  • 进展
    • 无与伦比
    • <新><
    • 播放
    • 击败
    • 完成
  • 注释

想想你曾经玩过的任何游戏。假设这是个游戏你 作为一个不起眼的包的一部分买的,但是还没有开始玩。内部, vgstash会像这样跟踪它:

.--------------------------------------------------------.
| Title                  | System | Ownership | Progress |
|------------------------+--------+-----------+----------|
| FTL: Faster Than Light | Steam  | digital   | new      |
'--------------------------------------------------------'

这是最基本的信息,你需要有意义地跟踪视频 您收藏的游戏。

命令行用法

vgstash附带了一个同名的命令行客户机 用于操作数据库的高级命令。这是参考资料 vgstash客户端的实现。

如果您想将上述游戏添加到您的收藏中,您可以这样做:

$ vgstash add 'FTL: Faster Than Light' Steam d n
Added FTL: Faster Than Light for Steam. You digitally own it and you have not started it.

很容易,嗯?添加到vgstash的每个游戏和系统都是自由形式的,可以是 根据用户偏好进行调整。

引用游戏标题

关于字符的注释:有些外壳对某些字符的处理方式不同。最多的 常见的是标点符号,如单引号(')、双引号 引号(")和感叹号(!)。您需要搜索shell的手册 "字符转义"以获取详细信息。

让我们拿几个对shell来说可能有问题的游戏标题,并添加它们 到VGSTASH。这些示例假设您正在使用bash(bourne-again shell)或 类似的东西。

第一个:带有单引号和感叹号的标题:

$ vgstash add "Eek! It's a Bomb!" Android d n

双引号对于引用任何游戏标题都很有用。

接下来是一个更隐晦的标题:一个有两个(或更多)感叹号的标题:

$ vgstash add 'Mario Kart: Double Dash!!' GCN p n

注意,我们使用单引号;如果使用双引号,则使用!!< /代码> 将展开到进入shell的最后一个命令,创建 mario kart:double dash<;这里是您的最后一个命令>;。完全不同于 你会想到的!

但是如果我们,不知怎么的,同时有单引号和序贯感叹号呢? 要点?单引号字符串不能转义单引号字符。双重的 引用不会停止!!扩展。逃离感叹号保留 反斜杠;怎么办?有几种方法可以解决这个问题:

# The easy way
$ vgstash add $'Some title\'s crazy!!' PC d n

# The hard way
$ vgstash add Some\ title\'s\ crazy\!\! PC d n

# The exotic way
$ vgstash add "Some title"\''s crazy!!' PC d n

当您需要使用双引号和/或单引号时,$'text'表单非常方便 在感叹号旁边,或者你可以转义每个特殊字符 (包括空间)根据需要。

"异国情调"利用了shell的内置字符串连接 以及混合引用样式的能力。首先我们有两个标题 引号;然后是文字输出的转义单引号;然后是疯狂的s!!< /代码> 单引号以避免!!扩展。

最后一个选择是不过,完全禁用该功能(历史扩展) 你会错过像sudo这样的好东西!!< /代码>。在bash中,它是用set+hset+o histexpand禁用的。将+更改为-以在 完成了。< /P>

这些提示可能不适用于所有shell,因此请尝试使用echo打印标题 你想在vgstash中添加它之前!如果你不小心添加了一个游戏 方法,复制成功消息中输出的标题并将其粘贴到 删除命令:

# Let's say I used 'ls' last
$ vgstash add "my game!!" PC d n
Added my gamels for PC. You own it digitally and it's new.
$ vgstash delete "my gamels" PC
Removed my gamels for PC from your collection.

就这样!这是shell在vgstash开始之前所做的事情 正在处理其参数,因此请不要报告任何有关引用的错误。

命令

vgstash有一个相当小的命令集:

    添加< /LI>
  • 删除
  • 导出
  • 导入
  • 列表
  • 注释
  • 更新

电源在列表中。vgstash附带一组默认过滤器 这让你可以对你的游戏收藏进行推理。例如,这个命令 将以某种方式向您显示标记为"正在玩"的所有游戏:

$ vgstash list -w 40 playlog
Title       |  System  | Own | Progress
----------------------------------------
Crashmo     |   3DS    |   D |   P
Ever Oasis  |   3DS    | P   |   P
Fire Emblem |   3DS    | P   |   P
Monster Hun |   3DS    |   D |   P
Box Pusher  |   DSi    |   D |   P
Glow Artisa |   DSi    |   D |   P
Dark Souls  |   PS3    | P   |   P

有关更多用法信息,请参阅vgstash--help

路线图

计划在0.3版中发布:

  • 命令行界面完成
  • 将功能集与master匹配
  • 解决windows和mac上的任何初始错误(欢迎测试人员!)

0.4版计划的目标:

  • 使用json导入和导出

0.5版计划的目标:

  • 某种gui(tk和qt是当前候选的)

1.0版计划的目标:

  • 基于Kivy的界面(通过F-Droid在Android上发布)

如果您对此感兴趣,请给我发电子邮件。

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

推荐PyPI第三方库


热门话题
JavaMaven没有识别junit测试   正则表达式替换Java中字符串中的所有“(“and”)”   文件移动到另一台计算机时出现java错误“实例化servlet类”   服务器上的java服务   Spring数据JPA上的java嵌套@Transactional注释行为   eclipse中的Java Tomcat项目   java在Tomcat上部署web应用程序   如何解决“java.lang.IllegalStateException:ArrayAdapter要求资源ID为TextView”错误?   java在条形码上方添加文本,并使用烧烤更改字体大小   java与php基准测试   java使用正则表达式提取特定模式   java扫描器。findInLine()大量泄漏内存   java HTTP:差异请求属性和POST参数   返回空指针的Java方法?   java验证密码不包含名称中的3个以上连续字符   Java中带泛型的静态多态性   java在Android中获得最后一个已知位置   java为什么Groovy的Map比Array更具可伸缩性?   编码如何在Java中生成八进制字符串?   java Hibernate:使用单例会话写入日志(无刷新)