Mercurial > getan
annotate contrib/zeiterfassung @ 100:8f433e3c2f21
Allow to pass entries to the DeleteEntryState
By default DeleteEntryState uses the selected entries if no entry is passes
to the constructor. This allows to reuse the state class for single entry
deletion
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 12 Sep 2011 14:05:34 +0200 |
parents | 4b58763e75c1 |
children | e7548b8c6dcc |
rev | line source |
---|---|
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
1 #!/usr/bin/env python |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
3 # |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
4 # zeiterfassung |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
5 # ------------- |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
6 # (c) 2008 by Sascha L. Teichmann <sascha.teichmann@intevation.de> |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
7 # |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
8 # Simple script which generates lines for zeiterfassung.txt files. |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
9 # |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
10 # This is Free Software licensed under the terms of GPLv3 or later. |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
11 # For details see LICENSE coming with the source of 'getan'. |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
12 # |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
13 import os |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
14 import os.path |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
15 import sys |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
16 import getopt |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
17 import re |
10
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
18 import codecs |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
19 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
20 from pysqlite2 import dbapi2 as db |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
21 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
22 from datetime import date |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
23 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
24 DEFAULT_DATABASE = "time.db" |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
25 |
57
2f9093b41c5b
user ? per default for zeiterfassung entry type
Björn Ricks <bjoern.ricks@intevation.de>
parents:
51
diff
changeset
|
26 TYPE_OF_ENTRY = "?" |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
27 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
28 WORKPACKAGE = re.compile("^\[(\w*)(\s|\])") |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
29 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
30 USAGE = '''usage: %s <options> |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
31 with <options> |
9
4e8f5545256d
* Applied and completed Stephan Holl's zeiterfassung.bessere-lesbarkeit.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8
diff
changeset
|
32 [--user=|-u <user>] : Name of user, default: $USER |
4e8f5545256d
* Applied and completed Stephan Holl's zeiterfassung.bessere-lesbarkeit.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8
diff
changeset
|
33 [--database=|-d <database>]: getan database, default: time.db |
4e8f5545256d
* Applied and completed Stephan Holl's zeiterfassung.bessere-lesbarkeit.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8
diff
changeset
|
34 [--project=|-p <key>] : Key of output project, default: all |
10
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
35 [--encoding=|-e encoding] : encoding of output, default: none |
13
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
36 [--week=]|-w <week>] : week of year |
51
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
37 [--year=]|-y <year>] : year |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
38 [--list|-l] : list all projects |
60
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
39 [--help|-h] : This text |
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
40 [--emtpy|-m] : show empty projects''' |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
41 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
42 LIST_PROJECTS = ''' |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
43 SELECT key, description, active FROM projects |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
44 ''' |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
45 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
46 PROJECT_ID_BY_KEY = ''' |
9
4e8f5545256d
* Applied and completed Stephan Holl's zeiterfassung.bessere-lesbarkeit.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8
diff
changeset
|
47 SELECT id, description FROM projects where key = :key |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
48 ''' |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
49 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
50 ALL_PROJECT_IDS = ''' |
9
4e8f5545256d
* Applied and completed Stephan Holl's zeiterfassung.bessere-lesbarkeit.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8
diff
changeset
|
51 SELECT id, key, description FROM projects |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
52 ''' |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
53 |
13
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
54 WEEK_ENTRIES = ''' |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
55 SELECT |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
56 date(start_time) AS t, |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
57 sum(strftime('%s', stop_time) - strftime('%s', start_time)), |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
58 'no description' AS description |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
59 FROM entries |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
60 WHERE |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
61 project_id = :project_id AND |
46
5f87604ea5ed
add year option for contrib/zeiterfassung
Bjoern Ricks <bricks@intevation.de>
parents:
16
diff
changeset
|
62 (strftime('%Y', start_time) ) = :year AND |
13
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
63 (description IS NULL or length(description) = 0) -- trim() function is missing |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
64 AND (strftime('%W', start_time) = :week OR strftime('%W', stop_time) = :week) |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
65 GROUP BY round(julianday(start_time)) |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
66 UNION |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
67 SELECT date(start_time) AS s, strftime('%s', stop_time) - strftime('%s', start_time), description |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
68 FROM entries |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
69 WHERE |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
70 project_id = :project_id AND |
46
5f87604ea5ed
add year option for contrib/zeiterfassung
Bjoern Ricks <bricks@intevation.de>
parents:
16
diff
changeset
|
71 (strftime('%Y', start_time) ) = :year AND |
13
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
72 description IS NOT NULL AND length(description) > 0 |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
73 AND (strftime('%W', start_time) = :week OR strftime('%W', stop_time) = :week) |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
74 ORDER BY t |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
75 ''' |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
76 |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
77 ENTRIES = ''' |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
78 SELECT |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
79 date(start_time), |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
80 sum(strftime('%s', stop_time) - strftime('%s', start_time)), |
11
feb6bb4427fe
Applied a variation of Stephan Holl's zeiterfassung.non-utf8-chars-in-db.patch to force the encoding given by --encoding=.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
10
diff
changeset
|
81 'no description' AS description |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
82 FROM entries |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
83 WHERE |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
84 project_id = :project_id AND |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
85 (description IS NULL or length(description) = 0) -- trim() function is missing |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
86 GROUP BY round(julianday(start_time)) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
87 UNION |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
88 SELECT date(start_time), strftime('%s', stop_time) - strftime('%s', start_time), description |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
89 FROM entries |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
90 WHERE |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
91 project_id = :project_id AND |
51
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
92 description IS NOT NULL AND length(description) > 0 |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
93 ''' |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
94 |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
95 ENTRIES_YEAR = ''' |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
96 SELECT |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
97 date(start_time), |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
98 sum(strftime('%s', stop_time) - strftime('%s', start_time)), |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
99 'no description' AS description |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
100 FROM entries |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
101 WHERE |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
102 project_id = :project_id AND |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
103 (description IS NULL or length(description) = 0) -- trim() function is missing |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
104 GROUP BY round(julianday(start_time)) |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
105 UNION |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
106 SELECT date(start_time), strftime('%s', stop_time) - strftime('%s', start_time), description |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
107 FROM entries |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
108 WHERE |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
109 project_id = :project_id AND |
46
5f87604ea5ed
add year option for contrib/zeiterfassung
Bjoern Ricks <bricks@intevation.de>
parents:
16
diff
changeset
|
110 (strftime('%Y', start_time) ) = :year AND |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
111 description IS NOT NULL AND length(description) > 0 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
112 ''' |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
113 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
114 def human_time(s): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
115 h = s / 3600 |
11
feb6bb4427fe
Applied a variation of Stephan Holl's zeiterfassung.non-utf8-chars-in-db.patch to force the encoding given by --encoding=.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
10
diff
changeset
|
116 m = (s % 3600) / 60 |
feb6bb4427fe
Applied a variation of Stephan Holl's zeiterfassung.non-utf8-chars-in-db.patch to force the encoding given by --encoding=.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
10
diff
changeset
|
117 if (s % 60) >= 30: |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
118 m += 1 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
119 if m == 60: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
120 m = 0 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
121 h += 1 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
122 return "%2d:%02d" % (h, m) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
123 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
124 class TermError(Exception): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
125 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
126 def __init__(self, msg): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
127 Exception.__init__(self) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
128 self.msg = msg |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
129 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
130 def __str__(self): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
131 return repr(self.msg) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
132 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
133 def tolerantClose(c): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
134 if c: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
135 try: c.close() |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
136 except: pass |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
137 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
138 def usage(exit_code = 0): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
139 print USAGE % sys.argv[0] |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
140 sys.exit(exit_code) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
141 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
142 def main(): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
143 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
144 database = DEFAULT_DATABASE |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
145 user = None |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
146 list_projects = False |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
147 project = None |
10
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
148 encoding = None |
13
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
149 week = None |
46
5f87604ea5ed
add year option for contrib/zeiterfassung
Bjoern Ricks <bricks@intevation.de>
parents:
16
diff
changeset
|
150 year = None |
60
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
151 empty_proj = False |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
152 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
153 opts, args = getopt.getopt( |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
154 sys.argv[1:], |
60
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
155 'd:u:p:e:hl:w:y:m', |
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
156 ['database=', 'user=', 'project=', 'encoding=', 'help', 'list', 'week=', 'year=', 'empty']) |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
157 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
158 for opt, val in opts: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
159 if opt in ("--database", "-d"): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
160 database = val |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
161 elif opt in ("--user", "-u"): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
162 user = val |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
163 elif opt in ("--project", "-p"): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
164 project = val |
10
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
165 elif opt in ("--encoding", "-e"): |
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
166 encoding = val |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
167 elif opt in ("--help", "-h"): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
168 usage() |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
169 elif opt in ("--list", "-l"): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
170 list_projects = True |
13
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
171 elif opt in ("--week", "-w"): |
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
172 week = val |
46
5f87604ea5ed
add year option for contrib/zeiterfassung
Bjoern Ricks <bricks@intevation.de>
parents:
16
diff
changeset
|
173 elif opt in ("--year", "-y"): |
5f87604ea5ed
add year option for contrib/zeiterfassung
Bjoern Ricks <bricks@intevation.de>
parents:
16
diff
changeset
|
174 year = val |
60
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
175 elif opt in ("--empty", "-m"): |
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
176 empty_proj = True |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
177 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
178 if not user: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
179 user = os.getenv("USER") |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
180 |
51
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
181 proj_year = year |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
182 if not proj_year: |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
183 proj_year = date.today().strftime("%Y") |
46
5f87604ea5ed
add year option for contrib/zeiterfassung
Bjoern Ricks <bricks@intevation.de>
parents:
16
diff
changeset
|
184 |
10
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
185 if encoding: |
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
186 Writer = codecs.getwriter(encoding) |
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
187 sys.stdout = Writer(sys.stdout) |
4f782a05b4dc
contrib/zeiterfassung: Added parameter -e | --encoding=
Sascha L. Teichmann <teichmann@intevation.de>
parents:
9
diff
changeset
|
188 |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
189 if not os.path.isfile(database): |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
190 print >> sys.stderr, "'%s' does not exist or is not a file." % database |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
191 sys.exit(1) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
192 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
193 con, cur = None, None |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
194 try: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
195 try: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
196 con = db.connect(database) |
11
feb6bb4427fe
Applied a variation of Stephan Holl's zeiterfassung.non-utf8-chars-in-db.patch to force the encoding given by --encoding=.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
10
diff
changeset
|
197 if encoding: |
feb6bb4427fe
Applied a variation of Stephan Holl's zeiterfassung.non-utf8-chars-in-db.patch to force the encoding given by --encoding=.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
10
diff
changeset
|
198 con.text_factory = lambda s: s.decode(encoding) |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
199 cur = con.cursor() |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
200 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
201 if list_projects: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
202 cur.execute(LIST_PROJECTS) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
203 while True: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
204 row = cur.fetchone() |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
205 if not row: break |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
206 print "%s %s %s" % (row[0], row[2] and "*" or "-", row[1]) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
207 else: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
208 if project: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
209 cur.execute(PROJECT_ID_BY_KEY, { 'key': project }) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
210 row = cur.fetchone() |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
211 if row is None: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
212 raise TermError("There is no project with key '%s'" % project) |
9
4e8f5545256d
* Applied and completed Stephan Holl's zeiterfassung.bessere-lesbarkeit.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8
diff
changeset
|
213 project_ids = [[row[0], project, row[1]]] |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
214 else: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
215 cur.execute(ALL_PROJECT_IDS); |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
216 project_ids = cur.fetchall() |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
217 |
59
58bfac26a9ff
add displaying of total time in all projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
58
diff
changeset
|
218 total = 0 |
9
4e8f5545256d
* Applied and completed Stephan Holl's zeiterfassung.bessere-lesbarkeit.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
8
diff
changeset
|
219 for project_id, project, proj_desc in project_ids: |
13
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
220 if not week is None: |
51
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
221 cur.execute(WEEK_ENTRIES, {'project_id': project_id, 'week': week, 'year' : proj_year}) |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
222 elif not year: |
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
223 cur.execute(ENTRIES, {'project_id': project_id}) |
13
e347f0de5e22
Applied Stephan Holl's week-option.patch
Sascha L. Teichmann <teichmann@intevation.de>
parents:
11
diff
changeset
|
224 else: |
51
3f97954868e4
add year option to usage output
Björn Ricks <bjoern.ricks@intevation.de>
parents:
46
diff
changeset
|
225 cur.execute(ENTRIES_YEAR, {'project_id': project_id, 'year':proj_year}) |
58
9826dcbf119f
rename total variable to total_proj because it refects to total time
Björn Ricks <bjoern.ricks@intevation.de>
parents:
57
diff
changeset
|
226 total_proj = 0 |
61
4b58763e75c1
Show project name before time entries
Björn Ricks <bjoern.ricks@intevation.de>
parents:
60
diff
changeset
|
227 row = cur.fetchone() |
4b58763e75c1
Show project name before time entries
Björn Ricks <bjoern.ricks@intevation.de>
parents:
60
diff
changeset
|
228 if row or empty_proj: |
4b58763e75c1
Show project name before time entries
Björn Ricks <bjoern.ricks@intevation.de>
parents:
60
diff
changeset
|
229 print "# project: %s (%s)" % (project, proj_desc) |
4b58763e75c1
Show project name before time entries
Björn Ricks <bjoern.ricks@intevation.de>
parents:
60
diff
changeset
|
230 while row: |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
231 d = date(*map(int, row[0].split('-'))) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
232 t = max(60, row[1]) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
233 c = row[2] |
58
9826dcbf119f
rename total variable to total_proj because it refects to total time
Björn Ricks <bjoern.ricks@intevation.de>
parents:
57
diff
changeset
|
234 total_proj += t |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
235 workpackage = "----" |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
236 if c: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
237 m = WORKPACKAGE.match(c) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
238 if m: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
239 workpackage = m.group(1) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
240 c = c[m.end():].strip() |
46
5f87604ea5ed
add year option for contrib/zeiterfassung
Bjoern Ricks <bricks@intevation.de>
parents:
16
diff
changeset
|
241 c = c.replace('\x1b', '') |
16
22aa74768d97
left justify user sign in zeiterfassung
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13
diff
changeset
|
242 print "%s %sh %s %-3s [%s] %s" % ( |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
243 d.strftime("%d.%m.%Y"), |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
244 human_time(t), |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
245 TYPE_OF_ENTRY, |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
246 user, |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
247 workpackage, |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
248 c) |
61
4b58763e75c1
Show project name before time entries
Björn Ricks <bjoern.ricks@intevation.de>
parents:
60
diff
changeset
|
249 row = cur.fetchone() |
59
58bfac26a9ff
add displaying of total time in all projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
58
diff
changeset
|
250 total += total_proj |
60
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
251 if empty_proj or total_proj > 0: |
9df5d62e6f7e
add switch to show also empty projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
59
diff
changeset
|
252 print "# total: %sh\n\n" % human_time(total_proj) |
59
58bfac26a9ff
add displaying of total time in all projects
Björn Ricks <bjoern.ricks@intevation.de>
parents:
58
diff
changeset
|
253 print "# total all projects: %sh\n\n" % human_time(total) |
8
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
254 finally: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
255 tolerantClose(cur) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
256 tolerantClose(con) |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
257 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
258 except TermError, e: |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
259 print >> sys.stderr, "error: %s" % e.msg |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
260 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
261 if __name__ == '__main__': |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
262 main() |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
263 |
20414d892f04
Added script to generate lines for zeiterfassung.txt
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
264 # vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: |