Usuario:PetrohsW/herramientas/WiknMedKa
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;