# HG changeset patch # User Sascha L. Teichmann # Date 1217772681 -7200 # Node ID 4f782a05b4dc3232c87b5095cf2780b847a15d26 # Parent 4e8f5545256dc8d56190c62c20478eba4bf67dad contrib/zeiterfassung: Added parameter -e | --encoding= diff -r 4e8f5545256d -r 4f782a05b4dc ChangeLog --- a/ChangeLog Sun Aug 03 15:52:21 2008 +0200 +++ b/ChangeLog Sun Aug 03 16:11:21 2008 +0200 @@ -1,3 +1,8 @@ +2008-08-03 Sascha L. Teichmann + + * contrib/zeiterfassung: Added parameter -e | --encoding=. + This enables e.g. the output as latin1 with --encoding=latin1. + 2008-08-03 Sascha L. Teichmann * contrib/zeiterfassung: Applied and completed Stephan Holl's diff -r 4e8f5545256d -r 4f782a05b4dc contrib/zeiterfassung --- a/contrib/zeiterfassung Sun Aug 03 15:52:21 2008 +0200 +++ b/contrib/zeiterfassung Sun Aug 03 16:11:21 2008 +0200 @@ -15,6 +15,7 @@ import sys import getopt import re +import codecs from pysqlite2 import dbapi2 as db @@ -31,6 +32,7 @@ [--user=|-u ] : Name of user, default: $USER [--database=|-d ]: getan database, default: time.db [--project=|-p ] : Key of output project, default: all + [--encoding=|-e encoding] : encoding of output, default: none [--list|-l] : list all projects [--help|-h] : This text''' @@ -99,11 +101,12 @@ user = None list_projects = False project = None + encoding = None opts, args = getopt.getopt( sys.argv[1:], - 'd:u:p:hl', - ['database=', 'user=', 'project=', 'help', 'list']) + 'd:u:p:e:hl', + ['database=', 'user=', 'project=', 'encoding=', 'help', 'list']) for opt, val in opts: if opt in ("--database", "-d"): @@ -112,6 +115,8 @@ user = val elif opt in ("--project", "-p"): project = val + elif opt in ("--encoding", "-e"): + encoding = val elif opt in ("--help", "-h"): usage() elif opt in ("--list", "-l"): @@ -120,6 +125,10 @@ if not user: user = os.getenv("USER") + if encoding: + Writer = codecs.getwriter(encoding) + sys.stdout = Writer(sys.stdout) + if not os.path.isfile(database): print >> sys.stderr, "'%s' does not exist or is not a file." % database sys.exit(1) @@ -164,7 +173,7 @@ if m: workpackage = m.group(1) c = c[m.end():].strip() - print "%s %sh %s %3s [%s] %s" % ( + print u"%s %sh %s %3s [%s] %s" % ( d.strftime("%d.%m.%Y"), human_time(t), TYPE_OF_ENTRY,