diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/completion | 56 | ||||
-rwxr-xr-x | scripts/gen-america | 11 | ||||
-rwxr-xr-x | scripts/gen-ecoin | 12 | ||||
-rwxr-xr-x | scripts/gen-stats | 34 | ||||
-rw-r--r-- | scripts/getcls.awk | 8 | ||||
-rwxr-xr-x | scripts/tr | 6 |
6 files changed, 120 insertions, 7 deletions
diff --git a/scripts/completion b/scripts/completion new file mode 100755 index 0000000..0b9881e --- /dev/null +++ b/scripts/completion @@ -0,0 +1,56 @@ +#!/bin/sh + +gawk -v CC="$1" -v TYPE="$2" -v MODE="$3" ' +function hndl(x) +{ + if (x == "/") + return + if (x ~ /X/) { + have_c++ + cnt_c++ + } else if (x ~ /[O@]/) { + have_n++ + cnt_n++ + } else if (x ~ /[-^]/) { + cnt_c++ + } else if (x ~ /[*%+]/) { + cnt_n++ + } else if (x == "?") { + cnt_u++ + } +} + +function gen(have, cnt) +{ + if (cnt == 0) + print "N/A" + else + printf "%d/%d (%d%%)\n", have, cnt, have / cnt * 100 +} + +BEGIN { + CC = toupper(CC) +} + +FILENAME == "data/coins" && $1 == CC && TYPE == "s" && $2 != "start" { + split($0, xs) + for (i = 2; i < length(xs); i++) + hndl(xs[i]) +} + +FILENAME == "data/ccs" && $1 == CC && TYPE == "c" { + gsub(/([A-Z]{2} [0-9]{4} |\t.*)/, " ") + split($0, xs) + for (i = 1; i <= length(xs); i++) + hndl(xs[i]) +} + +END { + if (MODE == "circ") + gen(have_c, cnt_c) + else if (MODE == "nifc") + gen(have_n, cnt_n) + else if (MODE == "comb") + gen(have_c + have_n, cnt_c + cnt_n + cnt_u) +} +' data/coins data/ccs
\ No newline at end of file diff --git a/scripts/gen-america b/scripts/gen-america index bc7bd95..59eebf0 100755 --- a/scripts/gen-america +++ b/scripts/gen-america @@ -1,6 +1,6 @@ #!/bin/sh -gawk ' +gawk -vfile="$1" ' @include "scripts/getcls.awk" function getsup(i, s) @@ -28,10 +28,13 @@ BEGIN { } { - printf "trX { td .missing colspan=\"2\" {-%s}", $3 + if (file == "sds") + printf "trX {" + else + printf "trX { td .missing colspan=\"2\" {-%s}", $3 split($2, a, / /) for (i = 1; i <= length(a); i++) - printf "td .%s colspan=\"1\" {-%s %s}", getcls(a[i]), $1, getsup(i) + printf "td .%s colspan=\"1\" {-%s %s}", getcls(a[i]), $1, getsup(i) print "}" } @@ -39,4 +42,4 @@ END { print "__MARKER__" } ' data/world/$1.us \ -| scripts/last-of-design.sed +| scripts/last-of-design.sed
\ No newline at end of file diff --git a/scripts/gen-ecoin b/scripts/gen-ecoin index 9d39205..190725a 100755 --- a/scripts/gen-ecoin +++ b/scripts/gen-ecoin @@ -1,12 +1,20 @@ #!/bin/sh gawk -v CC=$1 ' +@include "scripts/getcls.awk" + BEGIN { FS = "\t" CC = toupper(CC) } $1 == CC { - printf "tr {td{-%s} td{-%s} td .have colspan=\"5\" {-%s}}", $2, $3, $4 + if (split($2, a, " ") == 1) { + printf "tr {td{-%s} td{-%s} td .%s colspan=\"5\" {-%s}}", \ + $2, $3, getcls($4), $5 + } else { + printf "tr {td{-%s @sup{-%s}} td{-%s} td .%s colspan=\"5\" {-%s}}", \ + a[1], a[2], $3, getcls($4), $5 + } } -' data/errors +' data/extras diff --git a/scripts/gen-stats b/scripts/gen-stats new file mode 100755 index 0000000..f51e19c --- /dev/null +++ b/scripts/gen-stats @@ -0,0 +1,34 @@ +#!/bin/sh + +gawk -v CC=$1 ' +@include "scripts/getcls.awk" + +function hndl(x) { + if (x == "/") + return + if (x ~ /[XO@]/) + have++ + cnt++ +} + +BEGIN { + CC = toupper(CC) +} + +FILENAME == "data/coins" && $1 == CC && $2 != "start" { + split($0, xs) + for (i = 2; i < length(xs); i++) + hndl(xs[i]) +} + +FILENAME == "data/ccs" && $1 == CC { + gsub(/([A-Z]{2} [0-9]{4} |\t.*)/, " ") + split($0, xs) + for (i = 1; i <= length(xs); i++) + hndl(xs[i]) +} + +END { + printf "%d/%d (%d%%)\n", have, cnt, have / cnt * 100 +} +' data/coins data/ccs
\ No newline at end of file diff --git a/scripts/getcls.awk b/scripts/getcls.awk index f53dc14..fd18e37 100644 --- a/scripts/getcls.awk +++ b/scripts/getcls.awk @@ -11,6 +11,12 @@ function getcls(c) return "have-nifc" case "@": return "have-proof" + case "^": + return "getting" + case "%": + return "getting-nifc" + case "+": + return "getting-proof" case "?": return "unknown" case "/": @@ -18,4 +24,4 @@ function getcls(c) default: return "error" } -} +}
\ No newline at end of file diff --git a/scripts/tr b/scripts/tr new file mode 100755 index 0000000..63e600b --- /dev/null +++ b/scripts/tr @@ -0,0 +1,6 @@ +#!/bin/sh + +echo "$1" | sed -E ' + s/((..):([^,]+))/@span lang="\2" .translation {-\3}/g + s/,//g +'
\ No newline at end of file |