summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib.m44
-rwxr-xr-xscripts/completion56
-rwxr-xr-xscripts/gen-stats4
-rw-r--r--src/euro/index.ccoins.gsp12
-rw-r--r--src/style.css5
5 files changed, 78 insertions, 3 deletions
diff --git a/lib.m4 b/lib.m4
index b90dc45..99f45cc 100644
--- a/lib.m4
+++ b/lib.m4
@@ -59,4 +59,6 @@ m4_define(__entry, [
}
])
-m4_define(__tr, [__esyscmd(tr "$*")]) \ No newline at end of file
+m4_define(__tr, [__esyscmd(tr "$*")])
+
+m4_define(__stats, [__esyscmd(completion __code $1 $2)]) \ No newline at end of file
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-stats b/scripts/gen-stats
index 46148d4..f51e19c 100755
--- a/scripts/gen-stats
+++ b/scripts/gen-stats
@@ -22,7 +22,7 @@ FILENAME == "data/coins" && $1 == CC && $2 != "start" {
}
FILENAME == "data/ccs" && $1 == CC {
- gsub(/([A-Z]{2} [0-9]{4}( [A-Za-z]+)?|\t.*)/, " ")
+ gsub(/([A-Z]{2} [0-9]{4} |\t.*)/, " ")
split($0, xs)
for (i = 1; i <= length(xs); i++)
hndl(xs[i])
@@ -31,4 +31,4 @@ FILENAME == "data/ccs" && $1 == CC {
END {
printf "%d/%d (%d%%)\n", have, cnt, have / cnt * 100
}
-' data/coins data/ccs
+' data/coins data/ccs \ No newline at end of file
diff --git a/src/euro/index.ccoins.gsp b/src/euro/index.ccoins.gsp
index 4f1392b..d6d117c 100644
--- a/src/euro/index.ccoins.gsp
+++ b/src/euro/index.ccoins.gsp
@@ -70,6 +70,12 @@ html lang="en" {
section .cl-section .slant-down {
div {
+ ul .stats-list {
+ li {-Circulating: __stats(s, circ)}
+ li {-NIFC: __stats(s, nifc)}
+ li {-Combined: __stats(s, comb)}
+ }
+
table .coin-table cellspacing="0" {
thead {
tr {
@@ -104,6 +110,12 @@ html lang="en" {
section .cl-section .slant-down {
div {
+ ul .stats-list {
+ li {-Circulating: __stats(c, circ)}
+ li {-NIFC: __stats(c, nifc)}
+ li {-Combined: __stats(c, comb)}
+ }
+
table .coin-table .commemorative-table cellspacing="0" {
thead {
tr {
diff --git a/src/style.css b/src/style.css
index c72908b..ae908ba 100644
--- a/src/style.css
+++ b/src/style.css
@@ -662,6 +662,11 @@ div .country-table:not(:first-child) {
border-radius: 16px 16px 16px 16px;
}
+.stats-list {
+ list-style: none;
+ margin-bottom: 32px;
+}
+
.coin-table {
width: calc(95% + 32px);
white-space: nowrap;