[Getan-commits] [PATCH 2 of 2] Reworked the --help function
Wald Commits
scm-commit at wald.intevation.org
Tue Jan 22 15:57:14 CET 2019
# HG changeset patch
# User Magnus Schieder <mschieder at intevation.de>
# Date 1548167728 -3600
# Node ID 31282f97b8073438bed87fd39329df3388ac7879
# Parent bad607aec1afd7f8bf878c1b6b1910044644607f
Reworked the --help function
* More information about the templates
* Information about the templates and how to
create them added to the README file.
diff -r bad607aec1af -r 31282f97b807 README
--- a/README Thu Jan 17 19:27:07 2019 +0100
+++ b/README Tue Jan 22 15:35:28 2019 +0100
@@ -167,6 +167,74 @@
$ getan /path/to/mytime.db
+Writing Templates
+=================
+
+Getan uses the Jinja2 templating language. You can find more information
+at `Jinja2 <http://jinja.pocoo.org/>`_.
+
+If a year or a week is specified, only the entries in this period will be
+loaded.
+
+Variables
+---------
+
+current_week: The current week.
+current_year: The current year.
+
+user: What You indicated with -u.
+week: What You indicated with -w.
+unix_week: What You indicated with -w, in unix notation.
+year: What you indicated with -y.
+
+get_total_duration(): Total duration of all entries.
+
+database: Path of the database.
+
+entries: List of all entries.
+ get_comment(): Description of the entry.
+ get_workpackage(): Work package of the entry.
+ desc: Work package and Description of the entry.
+
+ startisoday: Year, month and day in ISO format.
+ start: Start time as datetime.
+ end: End time as datetime.
+ get_duration(): Duration of the entry.
+
+projects: List of all projects.
+ get_total_duration(): Total duration of all
+ entries in the project.
+ desc: Description of the project.
+ key: Key of the project.
+
+ entries: All entries in this project (See entries).
+
+
+If -w is specified, only this week will be loaded from the database.
+
+year(): All entries in this year.
+month(): All entries in this month.
+week(): All entries in this week.
+day(): All entries in this day.
+
+Example
+-------
+
+{{ 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 -%}
+# total time: {{ proj.get_total_duration()|human_time }}h
+{% endfor %}
+# total: {{ total_time|human_time }}h
+
+
CREDITS
=======
Getan is Free Software licensed under the terms of GNU GPL v>=3.
diff -r bad607aec1af -r 31282f97b807 getan/main.py
--- a/getan/main.py Thu Jan 17 19:27:07 2019 +0100
+++ b/getan/main.py Tue Jan 22 15:35:28 2019 +0100
@@ -47,11 +47,12 @@
''' % getan.__version__
parser = argparse.ArgumentParser(prog='getan', usage=usage,
- formatter_class=argparse.RawTextHelpFormatter)
+ description="You can find more information at https://pypi.org/project/getan/",
+ formatter_class=argparse.RawTextHelpFormatter)
parser.add_argument('--version', action='version',
version=textwrap.dedent(version))
parser.add_argument(dest='filename', nargs='?',
- help='[databasefile (default: %(default)s)]',
+ help='[databasefile (default: ~/.getan/%(default)s)]',
default=DEFAULT_DATABASE)
parser.add_argument('--init-only', action='store_true', dest='initonly',
help='create databasefile if necessary and exit')
diff -r bad607aec1af -r 31282f97b807 scripts/getan-report
--- a/scripts/getan-report Thu Jan 17 19:27:07 2019 +0100
+++ b/scripts/getan-report Tue Jan 22 15:35:28 2019 +0100
@@ -14,16 +14,23 @@
import argparse
from getan.template import render
+from getan.backend import DEFAULT_DATABASE
def main():
usage='getan-report [options]'
- parser = argparse.ArgumentParser(prog='getan', usage=usage)
+ parser = argparse.ArgumentParser(prog='getan', usage=usage,
+ description="You can find more information at https://pypi.org/project/getan/")
- parser.add_argument('-d', '--database', dest='database',metavar="DATABASE",
- help='metavar="DATABASE')
+ parser.add_argument('-d', '--database', dest='database',metavar="DATABASE_FILE",
+ help='databasefile (default: ~/.getan/%(default)s)]',
+ default=DEFAULT_DATABASE)
parser.add_argument('-t', '--template', dest='template',
- metavar='TEMPLATE', help='name of getan template')
+ metavar='TEMPLATE',
+ help="""name of getan template (wochenbericht,
+ zeiterfassung, zeiterfassung2),
+ external templates must be stored in
+ ~/.getan/templates/ to be able to call them.""")
parser.add_argument('-u', '--user', dest='user', help='name of user')
parser.add_argument('-p', '--project', dest='project',
help='key of output project')
More information about the Getan-commits
mailing list