Mercurial > getan
annotate contrib/wochenbericht @ 131:3d5232dad59a
Add methods to reset the ProjectList footer
When going back from the move state ist must be possible to restore the old
footer entry in the ProjectList. The footer may be overriden by the move state
to select a project. In this case the old entry should be restored instead of
showing a blank footer.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 31 Oct 2012 09:53:57 +0100 |
parents | 4de86feae6ac |
children |
rev | line source |
---|---|
4
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
1 #!/bin/bash |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
2 # |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
3 # wochenbericht |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
4 # ------------- |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
5 # (c) 2008 by Sascha L. Teichmann |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
6 |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
7 # Little script to summarize times within a given week. |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
8 # usage: |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
9 # ./wochenbericht [<week of year>] [<getan database file>] |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
10 # week defaults to current week, database to time.db |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
11 # |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
12 # This is Free Software in terms of GPLv3 or later. See |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
13 # LICENSE coming with getan for details. |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
14 # |
5
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
15 usage() { |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
16 cat <<EOF |
32
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
17 usage: ./wochenbericht [<week of year>] [<year>] [<getan database file>] |
5
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
18 <week of year> defaults to current week |
32
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
19 <year> defaults to current year |
5
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
20 <getan database file> defaults to time.db |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
21 EOF |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
22 exit 1 |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
23 } |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
24 |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
25 if [ "$1" == "--help" -o "$1" == "-h" ]; then |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
26 usage |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
27 fi |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
28 |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
29 |
4
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
30 if [[ "$1" -eq "" ]]; then |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
31 WEEK=`date +'%W'` |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
32 # remove hash below if you want previous week |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
33 #WEEK=`expr ${WEEK} '-' 1 '|' 52` |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
34 else |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
35 WEEK=$1 |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
36 fi |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
37 |
32
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
38 if [[ "$2" -eq "" ]]; then |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
39 YEAR=`date +'%Y'` |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
40 else |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
41 YEAR=$2 |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
42 fi |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
43 |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
44 TIME_DB=${3:-time.db} |
4
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
45 |
5
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
46 if [ ! -f ${TIME_DB} ]; then |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
47 echo "error: Database file ${TIME_DB} does not exist." |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
48 usage |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
49 fi |
e7245c2127e5
Applied patch from Stephan Holl to show usage on '-h' of '--help'. Added check for existence of db file.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4
diff
changeset
|
50 |
4
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
51 sqlite3 ${TIME_DB} " |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
52 SELECT coalesce(description, 'Verschiedenes'), total FROM projects |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
53 INNER JOIN ( |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
54 SELECT |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
55 project_id, |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
56 sum(strftime('%s', stop_time) - strftime('%s', start_time)) AS total |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
57 FROM entries |
32
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
58 WHERE (strftime('%W', start_time) = '${WEEK}' AND |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
59 strftime('%Y', start_time) = '${YEAR}') OR |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
60 (strftime('%W', stop_time) = '${WEEK}' AND |
4de86feae6ac
Added a parameter 'year' to the 'wochenbericht' script that filters out the week of a specific year only.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
5
diff
changeset
|
61 strftime('%Y', stop_time) = '${YEAR}') |
4
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
62 GROUP BY project_id |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
63 ) ON id = project_id |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
64 WHERE active; |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
65 " | awk ' |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
66 function human_time(t) { |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
67 h = int(t / 3600) |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
68 m = int((t % 3600)/60.0 + 0.5) |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
69 while (m >= 60) { ++h; m -= 60 } |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
70 return sprintf("%2d:%02dh", h, m) |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
71 } |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
72 BEGIN { FS="|"; sum = 0 } |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
73 { sum += $2 |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
74 printf("%s: %s\n", human_time($2), $1) |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
75 } |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
76 END { printf("%s: Gesamt\n", human_time(sum)) } |
2b2f74f301db
Added little script to summarize the entries for a given week number of year.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
diff
changeset
|
77 ' |