123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #! /bin/bash
- if [ "$#" -ne 1 ]; then
- echo >&2 "usage: $0 <gameini-file>"
- exit 1
- fi
- [ -z "$PGPASSWORD" ] && read -rs -p 'Enter PostgreSQL password: ' PGPASSWORD
- export PGHOST=postgresql1.alwaysdata.com
- export PGDATABASE=dolphin-emu_wiki
- export PGUSER=dolphin-emu_wiki
- export PGPASSWORD
- sql() {
- psql -A -t -F ',' -c "$1"
- }
- GAME_ID=$(basename "$1" | cut -c -6)
- if ! echo "$GAME_ID" | grep -q '[A-Z0-9]\{6\}'; then
- echo >&2 "Invalid game ID: $GAME_ID"
- exit 1
- fi
- GAME_ID_GLOB=$(echo "$GAME_ID" | sed 's/\(...\).\(..\)/\1_\2/')
- RATING=$(sql "
- SELECT
- rating_content.old_text
- FROM
- page gid_page
- LEFT JOIN pagelinks gid_to_main
- ON gid_to_main.pl_from = gid_page.page_id
- LEFT JOIN page rating_page
- ON rating_page.page_title = ('Ratings/' || gid_to_main.pl_title)
- LEFT JOIN revision rating_rev
- ON rating_rev.rev_id = rating_page.page_latest
- LEFT JOIN pagecontent rating_content
- ON rating_content.old_id = rating_rev.rev_text_id
- WHERE
- gid_page.page_title LIKE '$GAME_ID_GLOB'
- LIMIT 1
- " | grep '^[1-5]$')
- if ! [ -z "$RATING" ]; then
- sed -i "s/^EmulationStateId.*$/EmulationStateId = $RATING/" "$1"
- fi
|