Toto je seznam scriptů, které používám pro editaci wikipedie. Pokud se někdo jimi nechá inspirovat či je přímo použijue budu jedině rád, bohužel pro většinu uživatelů budou spíše nepoužitelné už proto, že využívají bash.

translate.bash

editovat

Jedná se o script, který „přeloží“ jména tenistů z článku na anglické wikipedie do češtiny. Využívá přitom této překladové tabulky. Zatím je neuvěřitelně pomalý :(

Argumenty, vstup a výstup

editovat
  • 1.: [WM] — W pokud chcete přeložit tenistky a M pokud chcete přeložit tenisty
  • Vstup: Překládaný text
  • Výstup: Přeložený text

Závislosti

editovat
#!/bin/bash

dump=$(exec elinks https://cs.wikipedia.org/wiki/Wikipedista:Drecker/Tenisté -dump -no-references -no-numbering)

table=$(echo "${dump}" | awk "
/\*\*\*START $1\*\*\*/	{flag=1;next}
/\*\*\*STOP $1\*\*\*/	{flag=0}
flag	{print}
")

declare -i i=0
declare -a en
declare -a cs

while read -r line; do
	formated=$(echo "$line" | sed -e 's/^\s*//' | sed -e 's/\s*$//' | sed -e 's/\s\s*/*/g' | sed -e 's/\xc2\xa0/ /g')
	IFS=* read -r nation orig_name en_name en_short_name en_link cs_name cs_short_name cs_link check < <(echo "$formated")
	en[i]="\[\[$en_link\]\]"
	cs[i]="\[\[$cs_link\]\]"
	en[i+1]="\[\[$en_link|$en_name\]\]"
	cs[i+1]="\[\[$cs_link|$cs_name\]\]"
	en[i+2]="\[\[$en_link|$en_short_name\]\]"
	cs[i+2]="\[\[$cs_link|$cs_short_name\]\]"
	i=$[i+3]
done < <(echo "$table")

declare -a text_line

while read -r line; do
	text_line=$line
	for (( i=0; $i<${#en[*]}; i++ )); do
		text_line=$(echo "$text_line" | sed -e "s/${en[i]}/${cs[i]}/g")
	done
	echo "$text_line"
done

cite.bash

editovat

Vypíše citaci pavouků tenisových turnajů v takovém tvaru, v jakém by se měla vyskytovat na Wikipedii

Argumenty, vstup a výstup

editovat
  • 1.: [WwMm] — W či w pokud se jedná o pavouk žen, M či m pokud se jedná o pavouk mužů
  • 2.: — název turnaje
  • 3.: — číselný kód turnaje
  • 4.: [sqd]* — nepovinný sekvence tvořená písmeny s, q a d, za každý výskyt písmene vypíše odrážku s příslušným pavoukem, (s – dvouhra; q – kvalifikace dvouhry; d – čtyřhra); implicitně předpokládá sqd
  • Vstup: — nic
  • Výstup: — odrážky s citacemi

Závislosti

editovat

Příklad

editovat

Příkaz

editovat
./cite.bash m "Rio Open" 6932 sq

Výstup

editovat
  • Mužská dvouhra Rio Open 2014 [online]. ATP Tour, Inc. [cit. 2014-03-18]. Dostupné online. 
  • Kvalifikace mužské dvouhry Rio Open 2014 [online]. ATP Tour, Inc. [cit. 2014-03-18]. Dostupné online. 

Poznámka

editovat

Jako accessdate je použito datum spuštění skriptu

#!/bin/bash

date=$(date +'%d-%m-%Y')

if [ -z $4 ]; then
	events="sqd"
else
	events=$4
fi

if [ "$1" = "m" ] || [ "$1" = "M" ]; then

	for (( i=0; i<${#events}; i++ )); do
		c=${events:$i:1}

		if [ "$c" = "s" ]; then
			event="Mužská dvouhra"
			abb="mds"
		elif [ "$c" = "d" ]; then
			event="Mužská čtyřhra"
			abb="mdd"
		elif [ "$c" = "q" ]; then
			event="Kvalifikace mužské dvouhry"
			abb="qs"
		fi

		echo "* {{cite web|work=www.atpworldtour.com|publisher=[[asociace tenisových profesionálů|ATP Tour]], Inc.|title=$event $2 2014|url=http://www.atpworldtour.com/posting/2014/$3/$abb.pdf|format=PDF|accessdate=$date}}"

	done

elif [ "$1" = "w" ] || [ "$1" = "W" ]; then

	for (( i=0; i<${#events}; i++ )); do
		c=${events:$i:1}

		if [ "$c" = "s" ]; then
			event="Ženská dvouhra"
			abb="MDS"
		elif [ "$c" = "d" ]; then
			event="Ženská čtyřhra"
			abb="MDD"
		elif [ "$c" = "q" ]; then
			event="Kvalifikace ženské dvouhry"
			abb="QS"
		fi

		echo "* {{cite web|work=www.wtatennis.com|publisher=[[Ženská tenisová asociace|WTA Tour]], Inc.|title=$event $2 2014 |url=http://www.wtatennis.com/SEWTATour-Archive/posting/2014/$3/$abb.pdf|format=PDF|accessdate=$date}}"

	done

fi