girones.sh script added
[brisk.git] / bin / girones.sh
1 #!/bin/bash
2 # set -x
3
4 #
5 #  functions
6 usage () {
7     echo
8     echo "USAGE:"
9     echo "  $0 <conf-file>"
10     echo
11     exit $1
12 }
13
14
15 if [ $# -lt 1 ]; then
16     usage 1
17 fi
18
19 finname="$1"
20
21 if [ ! -f "$finname" ]; then
22     exit 2
23 fi
24 source "$finname"
25
26 for gen_id in $(seq 0 $((${#gens_prefix[@]} - 1))); do
27     echo "// GENERATION ${gens_prefix[$gen_id]}" 
28     names_n="$(echo "${gens_names[$gen_id]}" | sed 's/|/\n/g' | wc -l)" 
29     for name_id in $(seq 0 $((names_n - 1))); do
30         hue="$(echo "($name_id * 255 ) / $names_n" | bc -l)"
31         col100="$(./rgb_hsv.php -toxrgb 255 $hue 255.0 255.0)"
32         col33="$(./rgb_hsv.php -toxrgb 255 $hue 85.0 255.0)"
33         col17="$(./rgb_hsv.php -toxrgb 255 $hue 42.0 255.0)"
34
35         name="$(echo "${gens_names[$gen_id]}" | cut -d '|' -f $((name_id + 1)))" 
36         if [ $names_n -gt 1 ]; then
37             name="${gens_prefix[$gen_id]}_${name}" 
38         else
39             name="${gens_prefix[$gen_id]}"
40         fi
41         echo "// [${name}][$col100][$col33][$col17]"
42 cat <<EOF
43   subgraph cluster_${name} {
44     fontsize=18;
45     label="${name}";
46     fillcolor="#${col33}";
47     color="#${col100}";
48     style="rounded,filled";
49    node [shape=record, color="#${col100}", style=filled, fillcolor="#${col17}"];
50     ${name} [label="<1>aaa aaa|<2>bbb bbb|<3>ccc ccc|<4>ddd ddd|<5>eee eee"];
51   }
52 EOF
53     done
54 done
55
56 for gen_id in $(seq 0 $((${#gens_prefix[@]} - 1))); do
57     echo "// GENERATION ${gens_prefix[$gen_id]}"
58     names_n="$(echo "${gens_names[$gen_id]}" | sed 's/|/\n/g' | wc -l)" 
59     for name_id in $(seq 0 $((names_n - 1))); do
60         hue="$(echo "($name_id * 255 ) / $names_n" | bc -l)"
61         col100="$(./rgb_hsv.php -toxrgb 255 $hue 255.0 255.0)"
62
63         gnxt_id=$((gen_id + 1))
64         if [ "${gens_prefix[$gnxt_id]}" = "" ]; then
65             break
66         fi
67         gnxt_names_n="$(echo "${gens_names[$gnxt_id]}" | sed 's/|/\n/g' | wc -l)" 
68
69         start=$((name_id % gnxt_names_n))
70         startp1=$(( ( name_id + 1) % gnxt_names_n))
71
72         ct=1
73         col="#$col100"
74         for gnxt_name_id in $start $startp1; do
75
76
77             name="$(echo "${gens_names[$gen_id]}" | cut -d '|' -f $((name_id + 1)))" 
78             if [ $names_n -gt 1 ]; then
79                 name="${gens_prefix[$gen_id]}_${name}" 
80             else
81                 name="${gens_prefix[$gen_id]}"
82             fi
83             gnxt_name="$(echo "${gens_names[$gnxt_id]}" | cut -d '|' -f $((gnxt_name_id + 1)))" 
84             if [ $gnxt_names_n -gt 1 ]; then
85                 gnxt_name="${gens_prefix[$gnxt_id]}_${gnxt_name}" 
86             else
87                 gnxt_name="${gens_prefix[$gnxt_id]}"
88             fi
89             echo "${name}:${ct} -> ${gnxt_name}:2 [lhead=\"cluster_${gnxt_name}\", color=\"${col}\"];" 
90
91             ct=$((ct + 1))
92             col="black"
93         done
94     done
95 done
96
97 exit 0
98