Usuario:PetrohsW/herramientas/WiknMedKa
Apariencia
Tras crear la nota Inicia_la_Universiada_2013_en_Kazán,_Rusia era necesario mantener actualizado el medallero; para ello se genero el script WiknMedKa que consulta los datos desde el sitio oficial http://kazan2013.ru/en/st_events/medals, genera una tabla y la sube a wikinoticias.
- Adicional, me indicaron que el articulo en wikipedia Universiada 2013 debería ser actualizada en su seccion medallero por lo que se ajusto dicho articulo con la etiqueta <!-- WiknMedKa xxx --> para identificar donde actualizar la tabla.
- Ajustando url, pais organizador, entre otras, se genera la tabla para el medallero de Juegos Mundiales de Cali 2013
#!/bin/dash
ayuda() { echo '
#===============================================================================
# SCRIPT: * Wikinoticias Medallero Kazan *
# DESCRIPCION: Crea tabla de medallas obteniendo informacion desde el sitio
# de la universiada de Kazan
#
# USO: WiknMedKa.sh [-h|-?|--help|--ayuda] [-v]
# OPCIONES: -h Ayuda
# -v Version
# DEPENDENCIAS: mount.wikipediafs
# dos2unix
# wget
# BUGS: ---
# NOTAS:
# VERSIONES: 20130712 0.2.0 petrohs/ Escribiendo en wikipedia
# 20130711 0.1.3 petrohs/ tiempo en utc
# 20130711 0.1.2 petrohs/ Tabla, banderas, nombres y totales
# 20130711 0.1.0 petrohs/ Inicial
# URL: mx.wikimedia.org/wiki/Usuario:PetrohsW/herramientas/WiknMedKa
#===============================================================================';}
#ayuda y version
if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "-?" -o "$1" = "--ayuda" ]; then ayuda; exit 1;
elif [ "$1" = "-v" -o "$1" = "--version" ]; then ayuda | grep VERSIONES | cut -d: -f2 | cut -d/ -f1; exit 1; fi;
#obtener datos
wget 'http://kazan2013.ru/hide/en/-240/Medal/Medals?medalKind=DefaultSports&sport=00' -O kazan.html
dos2unix kazan.html 2> /dev/null
egrep -n '<tr class="False">|<tr class="True">' kazan.html | cut -d: -f1 > pos
grep -n '<span class="flag">' kazan.html | cut -d: -f1 > pais
grep -n '<td class="medalcount center goldwinner showColumnCompactSwitch">' kazan.html | cut -d: -f1 > oro
paste -d, pos pais oro > med
#creando tabla
cont=0; to=0; tp=0; tb=0; pt=0;
for lin in `cat med`
do
pos=`echo $lin | cut -d, -f1`;
pos=`expr $pos + 2`;
pais=`echo $lin | cut -d, -f2`;
pais=`expr $pais + 1`;
oro=`echo $lin | cut -d, -f3`;
oro=`expr $oro + 2`;
plata=`expr $oro + 4`;
bronce=`expr $oro + 8`;
pos=`sed -n "${pos}p" kazan.html | sed -e "s/ //g"`
pais=`sed -n "${pais}p" kazan.html | sed -e "s/.*;//g" -e "s/<.*//"`
oro=`sed -n "${oro}p" kazan.html | sed -e "s/ //g" -e "s/<.*//"`
plata=`sed -n "${plata}p" kazan.html | sed -e "s/ //g" -e "s/<.*//"`
bronce=`sed -n "${bronce}p" kazan.html | sed -e "s/ //g" -e "s/<.*//"`
if [ "$oro" = "" ]; then oro=0; fi
if [ "$plata" = "" ]; then plata=0; fi
if [ "$bronce" = "" ]; then bronce=0; fi
pt=`expr $oro + $plata + $bronce`;
if [ $pos != "Total:" ]
then
if [ "$pais" = "RUS" ]
then
echo "|--bgcolor=ccccff" >> laTab.txt;
fi
echo "|$pos||{{BanderaCOI|$pais}}||$oro||$plata||$bronce||$pt" >> laTab.txt
to=`expr $to + $oro`;
tp=`expr $tp + $plata`;
tb=`expr $tb + $bronce`;
cont=`expr $cont + 1`;
if [ $cont -eq 10 ]
then
echo "<includeonly>
|-
! colspan=6|[[Plantilla:Medallero_Kazán_2013|Listado Completo]]
|}</includeonly><noinclude>" >> laTab.txt
fi
echo "|-" >> laTab.txt
else
pt=`expr $to + $tp + $tb`;
echo "! colspan=2 | Total || $to || $tp || $tb || $pt" >> laTab.txt
fi
done
#creando wikitabla
dia=`date -u +%d`;
hora=`date -u +%H`;
echo 'Medallero de la Universiada 2013 proporcionado por [http://kazan2013.ru/en/st_events/medals http://kazan2013.ru/en/st_events/medals] hasta el '$dia' de julio de 2013 a las '$hora' hrs. <small>(UTC)</small>
<span style="margin:0px; padding-bottom:1px; font-size:90%; display:block;"><span style="border:solid 1px #AAA solid 1px; background-color:#CCCCFF; color:white"> </span> País organizador</span>
{| class="wikitable sortable col1cen col3der col4der col5der col6der" 60%
|-
! #
! País
! background-color="gold" | [[Archivo:Gold medal.svg|18px|Oro]]
! background-color="silver" | [[Archivo:Silver medal.svg|18px|Plata]]
! background-color="#CC9966" | [[Archivo:Bronze medal.svg|18px|Bronce]]
! Total
|-' > laTab.wiki
cat laTab.txt >> laTab.wiki
echo "|}
<noinclude>" >> laTab.wiki
#actualizando wikinoticias
mount.wikipediafs ~/.wikipediafs/wfs/
cp laTab.wiki /home/petrohs/.wikipediafs/wfs/wikinoticias_es/Plantilla:Medallero_Kazán_2013.mw
cp /home/petrohs/.wikipediafs/wfs/wikipedia-es/Universiada_2013.mw .
INI=`grep -n '<!-- WiknMedKa INI -->' Universiada_2013.mw | cut -d: -f1`
FIN=`grep -n '<!-- WiknMedKa FIN -->' Universiada_2013.mw | cut -d: -f1`
sed -n 1,${INI}p Universiada_2013.mw >Universiada_2013a.mw
cat laTab.wiki >> Universiada_2013a.mw
sed -n ${FIN},\$p Universiada_2013.mw >>Universiada_2013a.mw
cp Universiada_2013a.mw /home/petrohs/.wikipediafs/wfs/wikipedia-es/Universiada_2013.mw
sudo umount ~/.wikipediafs/wfs/
#Mente sana en cuerpo sano
rm kazan.html laTab.txt laTab.wiki med oro pais pos Universiada_2013.mw Universiada_2013a.mw
exit 0;