基于终端的时间跟踪和报告工具;类似于'worklog'。
项目描述
用法
在终端中调用getan或getan.py以启动一个空的任务列表,用于跟踪时间。
使用插入键添加新任务以跟踪。在getan中,任务被称为“项目”。您必须输入项目的“密钥”和“描述”。
现在使用键盘上的箭头键选择一个项目,然后按回车键开始计时。有关更多键盘命令,请参阅简介。
时间日志条目将保存在sqlite数据库中,默认情况下,getan将在~/.getan/time.db中创建。scripts/将帮助从中生成报告。
树模式
Getan支持项目层次结构。顶级项目密钥只有一个字符,一旦您开始使用第二个字符作为项目密钥,它将在层次结构中降低一个级别。例如
a Top level project aa 1st second level project ab 2nd second level project aba Third level Project
使用默认为f2的switch_project_order密钥来循环到层次视图。
自定义
使用~/.getan/getanrc或系统范围内的/etc/getanrc来自定义密钥和颜色。有关可识别选项,请参阅getan/config.py。示例
[keybindings] # changes the insert function to be activated by the `)` key insert: ) [theme] header: light green, dark green body: light green, black
安装
Getan需要版本>= 1.0的urwid。Urwid是用Python编写的控制台用户界面库。对于控制台输出(例如zeiterfassung.py),Getan还需要Jinja2 <http://jinja.pocoo.org>。
安装urwid
在Debian GNU/Linux >= Wheezy上,只需以root用户运行:
$ apt-get install python3-urwid
在其他系统上,urwid可以通过pip安装或直接放入getan的源中。
使用pip
要使用pip安装urwid,请以root用户运行
$ pip install urwid
或者如果您更喜欢使用virtualenv
$ virtualenv getan-env $ source getan-env/bin/activate (getan-env)$ pip install -U pip # to get the latest pip (getan-env)$ pip install urwid
使用urwid源
当直接从源运行getan时,可以将Urwid作为源放入getan目录。Urwid源可以从pypi下载。
对于urwid 1.1.2,pypi上的直接下载链接是https://pypi.python.org/packages/source/u/urwid/urwid-1.1.2.tar.gz(sha256sum是f56568b4f8459b3265c65d9e275ef72df6cb16ad0c291f0feb027cc911ea0f26)。
$ cd getan-source $ v=urwid-1.1.2 $ curl -O https://pypi.python.org/packages/source/u/urwid/$v.tar.gz $ sha256sum $v.tar.gz $ tar -xzvf $v.tar.gz $ ln -s $v/urwid urwid
安装Jinja2
在Debian GNU/Linux上,只需以root用户运行:
$ apt-get install python3-jinja2
在其他系统上,jinja2可以通过pip安装或直接放入getan的源中。
使用pip
要使用pip安装jinja2,请以root用户运行
$ pip install jinja2
或者如果您更喜欢使用virtualenv
$ source getan-env/bin/activate (getan-env)$ pip install jinja2
安装getan
安装getan不是必需的。它也可以直接从源运行。要系统范围内安装getan,必须以root用户运行以下命令
$ python3 setup.py install
您可能需要先安装setuptools,在Debian GNU/Linux上只需以root用户运行:
$ apt-get install python3-setuptools
启动getan
Getan可以直接从源运行或从全局安装后的bin目录(例如/usr/bin)运行。
从源运行
要从源运行getan,请运行
$ ./getan.py
或者
$ ./getan.py /path/to/mytime.db
要选择不同的sqlite3数据库而不是默认的time.db
从安装运行
安装getan后,可以使用以下命令运行
$ getan
或者
$ getan /path/to/mytime.db
编写模板
外部模板必须存储在~/.getan/templates/中才能调用它们。
Getan使用Jinja2模板语言。更多信息请访问Jinja2。
如果指定了年份或星期,则仅加载此期间条目。
变量
current_week:当前星期。current_year:当前年份。
user:您通过-u指定的内容。week:您通过-w指定的内容。unix_week:您通过-w指定的内容,使用Unix表示法。year:您通过-y指定的内容。
get_total_duration():所有条目的总时长。
database:数据库路径。
- entries:所有条目的列表。
get_comment():条目的描述。get_workpackage():条目的工作包。desc:条目的工作包和描述。
startisoday:ISO格式的年、月和日。start:作为datetime的起始时间。end:作为datetime的结束时间。get_duration():条目的时长。
- projects:所有项目的列表。
get_total_duration():项目中所有条目的总时长。desc:项目的描述。key:项目的密钥。
entries:此项目中的所有条目(参见entries)。
如果指定了-w,则只从数据库中加载此星期条目。
year():此年所有条目。month():此月所有条目。week():此星期所有条目。day():此日所有条目。
示例
{{ user }}, (KW {{ week }}, {{ year }}) {% for i in user -%} = {%- endfor -%}
{% for proj in projects %} # {{ proj.desc }} {% for entry in proj.entries|sort(attribute=’start’) -%} {{ entry.get_comment() }} {% endfor -%} # 总时间: {{ proj.get_total_duration()|human_time }}h {% endfor %} # 总计: {{ total_time|human_time }}h
致谢
Getan 是自由软件,遵循 GNU GPL v>=3 许可协议。有关详细信息,请参阅随“getan”源代码提供的 LICENSE 文件。
主要开发人员
2018- Magnus Schieder <magnus.schieder@intevation.de>(当前维护者) 2014- Bernhard E. Reiter <bernhard@intevation.de> 2011-2014 Björn Ricks <bjoern.ricks@intevation.de> 2010 Ingo Weinzierl <ingo.weinzierl@intevation.de> 2009-2014 Thomas Arendsen Hein <thomas@intevation.de> 2008-2010 Sascha L. Teichmann <sascha.teichmann@intevation.de>
贡献者
Frank Koormann Stephan Holl Tom Gottfried
感谢
感谢所有提供反馈的用户,特别是在 Intevation。
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源代码分发
构建分发
getan-3.6.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d4088859b34243b7c1222606842e3b60b4f4fa7632139df96c57cd40675a8d1c |
|
MD5 | e0d705310a8743f785eea4cf0f48e417 |
|
BLAKE2b-256 | 7bb7ac1e5de6ae55a3f4505dadb545b44caa65c9fb86ca795eba3b5d53c0d61a |
getan-3.6-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 12fcfc09bcb7c807d02f9aeb60e13ebb47ec816fac7f4365da7dd299494116ec |
|
MD5 | f4921b05093cecb06500870cd2c00280 |
|
BLAKE2b-256 | 7390fb69df9821615ef6ce7417d9b88dafefb247a117805b17b04202f807e945 |