77 return 1 |
77 return 1 |
78 fi |
78 fi |
79 |
79 |
80 LINES=`cat $1 | wc -l` |
80 LINES=`cat $1 | wc -l` |
81 |
81 |
82 # Substract Id, Subject and Priority |
82 # Substract Id, Subject, State and Priority |
83 TOTAIL=$(( LINES - 4 )) |
83 TOTAIL=$(( LINES - 5 )) |
84 DESCRIPTION=`tail -n $TOTAIL $1 | text2db | trimlastdbNL` |
84 DESCRIPTION=`tail -n $TOTAIL $1 | text2db | trimlastdbNL` |
85 |
85 |
86 echo "$ID $PRIORITY $STATE $SUBJECT $DESCRIPTION" >> $BUG_PROJECT |
86 echo "$ID $PRIORITY $STATE $SUBJECT $DESCRIPTION" >> $BUG_PROJECT |
87 updatenext $((ID + 1)) |
87 updatenext $((ID + 1)) |
88 return 0 |
88 return 0 |
89 } |
89 } |
90 |
90 |
91 function list |
91 function list |
92 { |
92 { |
93 echo "Id Prior. State Subject" |
93 echo "Id Prior. State Subject" |
94 LINES=`cat $BUG_PROJECT | wc -l` |
94 catlist | cut -f 1,2,3,4 | sort -n -r -k 2 |
95 |
|
96 # Substract Meta and sort by priority the output |
|
97 TOTAIL=$(( LINES - 1 )) |
|
98 tail -n $TOTAIL $BUG_PROJECT | cut -f 1,2,3 | sort -n -r -k 2 |
|
99 } |
95 } |
100 |
96 |
101 function view |
97 function view |
102 { |
98 { |
103 ID=$1 |
99 ID=$1 |
104 |
100 |
105 LINES=`cat $BUG_PROJECT | wc -l` |
101 LINE=`catlist | grep "^$ID "` |
106 # Substract Meta and sort by priority the output |
|
107 TOTAIL=$(( LINES - 1 )) |
|
108 LINE=`tail -n $TOTAIL $BUG_PROJECT | grep "^$ID"'\t'` |
|
109 |
102 |
110 if [ "x$LINE" != "x" ]; then |
103 if [ "x$LINE" != "x" ]; then |
111 PRIORITY=`echo "$LINE" | cut -f 2` |
104 PRIORITY=`echo "$LINE" | cut -f 2` |
112 STATE=`echo "$LINE" | cut -f 3` |
105 STATE=`echo "$LINE" | cut -f 3` |
113 SUBJECT=`echo "$LINE" | cut -f 4` |
106 SUBJECT=`echo "$LINE" | cut -f 4` |
117 echo "Priority: $PRIORITY" | db2text |
110 echo "Priority: $PRIORITY" | db2text |
118 echo "State: $STATE" | db2text |
111 echo "State: $STATE" | db2text |
119 echo "Subject: $SUBJECT" | db2text |
112 echo "Subject: $SUBJECT" | db2text |
120 echo "-- Description below --" |
113 echo "-- Description below --" |
121 echo "$DESCRIPTION" | db2text |
114 echo "$DESCRIPTION" | db2text |
|
115 return 0 |
122 else |
116 else |
123 echo "Id not found." 2>&1 |
117 echo "Id not found." 2>&1 |
124 fi |
118 return 1 |
|
119 fi |
|
120 } |
|
121 |
|
122 function catlist |
|
123 { |
|
124 LINES=`cat $BUG_PROJECT | wc -l` |
|
125 TOTAIL=$(( LINES - 1 )) |
|
126 tail -n $TOTAIL $BUG_PROJECT | grep -v "^#" |
|
127 } |
|
128 |
|
129 function searchline |
|
130 { |
|
131 ID=$1 |
|
132 |
|
133 LINE=`cat $BUG_PROJECT | grep -n "^$ID " | cut -d : -f 1` |
|
134 if [ "x$LINE" != "x" ]; then |
|
135 echo $LINE |
|
136 return 0 |
|
137 else |
|
138 return 1 |
|
139 fi |
|
140 } |
|
141 |
|
142 function delete |
|
143 { |
|
144 ID=$1 |
|
145 LINE=`searchline $ID` |
|
146 if [ $? -eq 0 ]; then |
|
147 ed $BUG_PROJECT >&/dev/null << END |
|
148 $LINE |
|
149 d |
|
150 w |
|
151 q |
|
152 END |
|
153 else |
|
154 echo "Id not found." 2>&1 |
|
155 fi |
|
156 } |
|
157 |
|
158 function edit |
|
159 { |
|
160 ID=$1 |
|
161 |
|
162 # Get a random file |
|
163 FILE="/tmp/$RANDOM.txt" |
|
164 while [ -f "$FILE" ]; do |
|
165 FILE="/tmp/$RANDOM.txt" |
|
166 done |
|
167 |
|
168 view $ID > $FILE |
|
169 |
|
170 if [ $? -eq 0 ]; then |
|
171 MD5=`md5sum "$FILE"` |
|
172 |
|
173 "$EDITOR" "$FILE" |
|
174 |
|
175 MD5_bis=`md5sum "$FILE"` |
|
176 |
|
177 if [ "$MD5" != "$MD5_bis" ]; then |
|
178 delete $id |
|
179 addfile "$FILE" && rm "$FILE" |
|
180 else |
|
181 echo "File not changed. Not changing the ticket." |
|
182 rm "$FILE" |
|
183 fi |
|
184 else |
|
185 echo "Id not found." |
|
186 rm "$FILE" |
|
187 fi |
|
188 |
125 } |
189 } |
126 |
190 |
127 function add |
191 function add |
128 { |
192 { |
129 # Get a random file |
193 # Get a random file |