coreboot-kgpe-d16/util/board_status/to-wiki/push-to-wiki.sh
Patrick Georgi 48e78cf6fd board-status: update mediawiki interface
Our Mediawiki instance doesn't accept the old txt format anymore.

Change-Id: I94b9f5366900ec8e192abab3ed716dbced4fc4f7
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/8567
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-03-04 20:46:01 +01:00

80 lines
2.3 KiB
Bash
Executable file

#!/bin/bash
# $1: file containing text
. ~/.wikiaccount
WIKIAPI="http://www.coreboot.org/api.php"
TITLE="Supported_Motherboards"
cookie_jar="/tmp/wikicookiejar"
#Will store file in wikifile
#################login
#Login part 1
CR=$(curl -sS \
--location \
--retry 2 \
--retry-delay 5\
--cookie $cookie_jar \
--cookie-jar $cookie_jar \
--user-agent "Curl Shell Script" \
--keepalive-time 60 \
--header "Accept-Language: en-us" \
--header "Connection: keep-alive" \
--compressed \
--data-urlencode "lgname=${USERNAME}" \
--data-urlencode "lgpassword=${USERPASS}" \
--request "POST" "${WIKIAPI}?action=login&format=json")
TOKEN=`echo $CR| sed -e 's,^.*"token":"\([^"]*\)".*$,\1,'`
if [ -z "$TOKEN" ]; then
exit
fi
#Login part 2
CR=$(curl -sS \
--location \
--cookie $cookie_jar \
--cookie-jar $cookie_jar \
--user-agent "Curl Shell Script" \
--keepalive-time 60 \
--header "Accept-Language: en-us" \
--header "Connection: keep-alive" \
--compressed \
--data-urlencode "lgname=${USERNAME}" \
--data-urlencode "lgpassword=${USERPASS}" \
--data-urlencode "lgtoken=${TOKEN}" \
--request "POST" "${WIKIAPI}?action=login&format=json")
###############
#Get edit token
CR=$(curl -sS \
--location \
--cookie $cookie_jar \
--cookie-jar $cookie_jar \
--user-agent "Curl Shell Script" \
--keepalive-time 60 \
--header "Accept-Language: en-us" \
--header "Connection: keep-alive" \
--compressed \
--request "POST" "${WIKIAPI}?action=query&meta=tokens&format=json")
EDITTOKEN=`echo $CR| sed -e 's,^.*"csrftoken":"\([^"]*\)".*$,\1,'`
EDITTOKEN=`printf "$EDITTOKEN"`
if [ ${#EDITTOKEN} != 34 ]; then
exit
fi
#########################
CR=$(curl -sS \
--location \
--cookie $cookie_jar \
--cookie-jar $cookie_jar \
--user-agent "Curl Shell Script" \
--keepalive-time 60 \
--header "Accept-Language: en-us" \
--header "Connection: keep-alive" \
--header "Expect:" \
--form "token=${EDITTOKEN}" \
--form "title=${TITLE}" \
--form "text=<$1" \
--request "POST" "${WIKIAPI}?action=edit&")