diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2024-09-03 14:26:20 +0200 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2024-09-03 14:26:20 +0200 |
| commit | 72ccc73168d51c6d605553c56af03d3a42152ac5 (patch) | |
| tree | 21876432553aca3d8e3836dd771ba03ebdb4f602 /alg | |
| parent | 8734897667bdf68307fc2f57bf0db4c10e3dec8d (diff) | |
| download | scripts-72ccc73168d51c6d605553c56af03d3a42152ac5.tar.gz scripts-72ccc73168d51c6d605553c56af03d3a42152ac5.zip | |
Added alg t, requires refactoring
Diffstat (limited to 'alg')
| -rwxr-xr-x | alg | 84 |
1 files changed, 80 insertions, 4 deletions
| @@ -8,8 +8,8 @@ | |||
| 8 | usage() { | 8 | usage() { |
| 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 | ||
| 15 | default_editor=vi | 15 | default_editor=vi |
| @@ -18,6 +18,7 @@ ebuffer=UR | |||
| 18 | cbuffer=UFR | 18 | cbuffer=UFR |
| 19 | wbuffer=UFr | 19 | wbuffer=UFr |
| 20 | xbuffer=Ubl | 20 | xbuffer=Ubl |
| 21 | tbuffer=Uf | ||
| 21 | 22 | ||
| 22 | edge() { | 23 | edge() { |
| 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 | ||
| 124 | tcenter() { | ||
| 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 | |||
| 123 | edit() { | 150 | edit() { |
| 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 | ||
| 211 | showall_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 | |||
| 184 | export_csv_c() { | 225 | export_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 | ||
| 321 | export_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 | |||
| 280 | run() { | 345 | run() { |
| 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 | ;; |
