Mercurial > getan
view scripts/getaneval.py @ 484:40dd1e33c1dd
Rename getan-eval.py to getaneval.py
getaneval.py is now installed as a script.
author | Magnus Schieder <mschieder@intevation.de> |
---|---|
date | Thu, 28 Jun 2018 15:06:19 +0200 |
parents | scripts/getan-eval.py@999a438474f2 |
children |
line wrap: on
line source
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # (c) 2013, 2014 by Björn Ricks <bjoern.ricks@intevation.de> # # This is Free Software licensed under the terms of GPLv3 or later. # For details see LICENSE coming with the source of 'getan'. import codecs import locale import sys from datetime import date, datetime, timedelta import argparse from getan.template import render def main(): usage='getan-eval.py [options]' parser = argparse.ArgumentParser(prog='getan', usage=usage) parser.add_argument('-d', '--database', dest='database',metavar="DATABASE", help='metavar="DATABASE') parser.add_argument('-t', '--template', dest='template', metavar='TEMPLATE', help='name of getan template') parser.add_argument('-u', '--user', dest='user', help='name of user') parser.add_argument('-p', '--project', dest='project', help='key of output project') parser.add_argument('-w', '--week', type=int, dest='week', help='week of year') parser.add_argument('-y', '--year', type=int, dest='year', help='year') parser.add_argument('-c', '--lastweek', dest='lastweek', help='entries of last working week', action='store_true') parser.add_argument('-m', '--empty', dest='empty', help='show projects without an entries', action="store_true") parser.add_argument('--encoding', dest='encoding', help='encoding of output', metavar='ENCODING') args = parser.parse_args() if args.lastweek: week = (datetime.now() - timedelta(7)).isocalendar()[1] year = int(date.today().strftime("%Y")) else: year = args.year week = args.week template_name = args.template or "wochenbericht" if not args.encoding: encoding = locale.getdefaultlocale()[1] or "utf-8" sys.stdout = codecs.getwriter(encoding)(sys.stdout.detach()) user = None if args.user: user = args.user print(render(database=args.database, user=user, template=template_name, year=year, week=week, project=args.project, empty_projects=args.empty)) if __name__ == '__main__': main() # vim:set ts=4 sw=4 si et sta sts=4 :