aboutsummaryrefslogtreecommitdiff
path: root/alg
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xalg84
1 files changed, 80 insertions, 4 deletions
diff --git a/alg b/alg
index e53dd93..7076f0a 100755
--- a/alg
+++ b/alg
@@ -8,8 +8,8 @@
8usage() { 8usage() {
9 echo "Usage:" 9 echo "Usage:"
10 echo "alg" 10 echo "alg"
11 echo "alg edit (c|e|w|x) [buffer] (1 letter|2 letters)" 11 echo "alg edit (c|e|w|x|t) [buffer] (1 letter|2 letters)"
12 echo "alg export (c|e|w|x|all)" 12 echo "alg export (c|e|w|x|t|all)"
13} 13}
14 14
15default_editor=vi 15default_editor=vi
@@ -18,6 +18,7 @@ ebuffer=UR
18cbuffer=UFR 18cbuffer=UFR
19wbuffer=UFr 19wbuffer=UFr
20xbuffer=Ubl 20xbuffer=Ubl
21tbuffer=Uf
21 22
22edge() { 23edge() {
23 [ "$1" = "a" ] && echo FU 24 [ "$1" = "a" ] && echo FU
@@ -120,6 +121,32 @@ xcenter() {
120 [ "$1" = "z" ] && echo Rdf 121 [ "$1" = "z" ] && echo Rdf
121} 122}
122 123
124tcenter() {
125 [ "$1" = "a" ] && echo Fu
126 [ "$1" = "b" ] && echo Ur
127 [ "$1" = "c" ] && echo Ul
128 [ "$1" = "d" ] && echo Ub
129 [ "$1" = "e" ] && echo Fd
130 [ "$1" = "f" ] && echo Rd
131 [ "$1" = "g" ] && echo Ld
132 [ "$1" = "i" ] && echo Fr
133 [ "$1" = "j" ] && echo Lu
134 [ "$1" = "k" ] && echo Rb
135 [ "$1" = "l" ] && echo Df
136 [ "$1" = "m" ] && echo Db
137 [ "$1" = "n" ] && echo Dr
138 [ "$1" = "o" ] && echo Fl
139 [ "$1" = "p" ] && echo Dl
140 [ "$1" = "r" ] && echo Bu
141 [ "$1" = "s" ] && echo Bd
142 [ "$1" = "t" ] && echo Bl
143 [ "$1" = "u" ] && echo Br
144 [ "$1" = "v" ] && echo Lf
145 [ "$1" = "w" ] && echo Lb
146 [ "$1" = "x" ] && echo Ru
147 [ "$1" = "z" ] && echo Rf
148}
149
123edit() { 150edit() {
124 mkdir -p "$basedir/$1/$2/$3" 151 mkdir -p "$basedir/$1/$2/$3"
125 $editor "$basedir/$1/$2/$3/$4" 152 $editor "$basedir/$1/$2/$3/$4"
@@ -181,6 +208,20 @@ showall_x() {
181 done 208 done
182} 209}
183 210
211showall_t() {
212 all_letters="a b c d e f g i j k l m n o p r s t u v w x z"
213 buffer="$1"
214 firstletter="$2"
215 firsttarget="$(tcenter $firstletter)"
216 for secondletter in $all_letters; do
217 secondtarget="$(tcenter $secondletter)"
218 f="$basedir/tcenters/$buffer/$firsttarget/$secondtarget"
219 [ -f "$f" ] || continue
220 line="$(head -n 1 "$f")"
221 printf '%s %s\n' "$firstletter$secondletter" "$line"
222 done
223}
224
184export_csv_c() { 225export_csv_c() {
185 sorted_letters="d b c l n p m k z f j v w g a o e s r u t" 226 sorted_letters="d b c l n p m k z f j v w g a o e s r u t"
186 buffer="$cbuffer" 227 buffer="$cbuffer"
@@ -277,6 +318,30 @@ export_csv_x() {
277 done 318 done
278} 319}
279 320
321export_csv_x() {
322 sorted_letters="d c b l n p m k x z f j v w g i a o e s r u t"
323 buffer="$tbuffer"
324 f="$basedir/tcenters/$buffer"
325 printf '"",'
326 for first in $sorted_letters; do
327 printf '"%s",' "$(tcenter $first)"
328 done
329 printf '\n'
330 for first in $sorted_letters; do
331 firstpiece="$(tcenter $first)"
332 printf '"%s",' "$firstpiece"
333 for second in $sorted_letters; do
334 g="$f/$firstpiece/$(tcenter $second)"
335 if [ "$first" = "$second" ] || [ ! -f "$g" ]; then
336 printf '"",'
337 else
338 printf '"%s",' "$(head -n 1 "$g")"
339 fi
340 done
341 printf '\n'
342 done
343}
344
280run() { 345run() {
281 case "$1" in 346 case "$1" in
282 edit) 347 edit)
@@ -290,12 +355,14 @@ run() {
290 export_csv_e > bldsheets/edges.csv 355 export_csv_e > bldsheets/edges.csv
291 export_csv_w > bldsheets/wings.csv 356 export_csv_w > bldsheets/wings.csv
292 export_csv_x > bldsheets/xcenters.csv 357 export_csv_x > bldsheets/xcenters.csv
293 echo "Sheets exported to bldsheets" 358 export_csv_t > bldsheets/tcenters.csv
359 echo "Sheets exported to bldsheets/"
294 return 360 return
295 fi 361 fi
296 #TODO add option for alternative buffers 362 #TODO add option for alternative buffers
297 [ "$2" != "c" ] && [ "$2" != "e" ] && \ 363 [ "$2" != "c" ] && [ "$2" != "e" ] && \
298 [ "$2" != "w" ] && [ "$2" != "x" ] && usage && return 364 [ "$2" != "w" ] && [ "$2" != "x" ] && \
365 [ "$2" != "t" ] && usage && return
299 export_csv_$2 366 export_csv_$2
300 return 367 return
301 ;; 368 ;;
@@ -311,12 +378,14 @@ run() {
311 ebuf="$ebuffer" 378 ebuf="$ebuffer"
312 wbuf="$wbuffer" 379 wbuf="$wbuffer"
313 xbuf="$xbuffer" 380 xbuf="$xbuffer"
381 tbuf="$tbuffer"
314 else 382 else
315 letters="$3" 383 letters="$3"
316 cbuf="$2" 384 cbuf="$2"
317 ebuf="$2" 385 ebuf="$2"
318 wbuf="$2" 386 wbuf="$2"
319 xbuf="$2" 387 xbuf="$2"
388 tbuf="$2"
320 fi 389 fi
321 390
322 letter1="$(echo "$letters" | cut -c 1)" 391 letter1="$(echo "$letters" | cut -c 1)"
@@ -353,6 +422,13 @@ run() {
353 showall_x $xbuf $letter1 422 showall_x $xbuf $letter1
354 fi 423 fi
355 ;; 424 ;;
425 t)
426 if [ -n "$letter2" ]; then
427 edit tcenters $tbuf $(tcenter $letter1) $(tcenter $letter2)
428 else
429 showall_t $tbuf $letter1
430 fi
431 ;;
356 *) 432 *)
357 usage 433 usage
358 ;; 434 ;;

Generated with cgit - Back to sebastiano.tronto.net