From 430aba6199a73f8d743a7156aa504605851946ff Mon Sep 17 00:00:00 2001 From: Edward Samuel Pasaribu Date: Fri, 13 Nov 2015 22:31:00 +0800 Subject: [PATCH] Fix Regencies code in villages districts --- README.md | 2 +- scripts/parse.py | 2 +- scripts/run.sh | 31 +++++++++++++------------------ 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 32bb1d0..31900b6 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ In order to generate new data: cd scripts ./run.sh -*NOTE*: Please create a MySQL database (named: `indonesia`) and import [`scripts/base_db.sql`](blob/master/scripts/base_db.sql) before run the script. You might need to update MySQL credentials in [`scripts/run.sh`](blob/master/scripts/run.sh). +*NOTE*: Please create a MySQL database (named: `indonesia`) before run the script. You might need to update MySQL credentials in [`scripts/run.sh`](blob/master/scripts/run.sh). ### License diff --git a/scripts/parse.py b/scripts/parse.py index 35c4f39..c69bfc0 100755 --- a/scripts/parse.py +++ b/scripts/parse.py @@ -50,7 +50,7 @@ def write_data_to_csv(tmp_dir, key): print 'Writing regencies data...' write_dict_to_csv(tmp_dir + '/regencies-' + key + '.csv', regencies_dict, 2) print 'Writing districts data...' - write_dict_to_csv(tmp_dir + '/districts-' + key + '.csv', districts_dict, 5) + write_dict_to_csv(tmp_dir + '/districts-' + key + '.csv', districts_dict, 4) print 'Writing villages data...' write_dict_to_csv(tmp_dir + '/villages-' + key + '.csv', villages_dict, 7) print 'Done.' diff --git a/scripts/run.sh b/scripts/run.sh index c1c54a6..f5397d1 100755 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -1,39 +1,34 @@ #!/bin/sh -DB_NAME=indonesia -DB_USER=root -DB_PASS=root +DB_NAME="indonesia" +MYSQL_CONNECTION_OPTIONS="--user=root --password=root" -TMP_DIR='/tmp/indonesia' +TMP_DIR="/tmp/indonesia" PWD_DIR=$PWD -if [ ! -d $TMP_DIR ]; then - mkdir -p $TMP_DIR -fi +mkdir -p ${TMP_DIR} for key in 'a' 'i' 'u' 'e' 'o'; do echo "Fetching ${key}" - if [ ! -f "$TMP_DIR/$DB_NAME-$key.html" ]; then - curl http://mfdonline.bps.go.id/index.php?link=hasil_pencarian --data "pilihcari=desa&kata_kunci=${key}" > $TMP_DIR/$DB_NAME-$key.html + if [ ! -f "${TMP_DIR}/${DB_NAME}-${key}.html" ]; then + curl http://mfdonline.bps.go.id/index.php?link=hasil_pencarian --data "pilihcari=desa&kata_kunci=${key}" > ${TMP_DIR}/${DB_NAME}-${key}.html fi echo "Parsing ${key}" - ./parse.py $TMP_DIR $DB_NAME-$key.html $key + ./parse.py ${TMP_DIR} ${DB_NAME}-${key}.html ${key} done unset key -# mysql -u $DB_USER --password=$DB_PASS $DB_NAME < base_db.sql -mysql $DB_NAME < base_db.sql +mysql ${MYSQL_CONNECTION_OPTIONS} ${DB_NAME} < base_db.sql -for area in 'provinces' 'regencies' 'districts' 'villages'; do +for area in "provinces" "regencies" "districts" "villages"; do echo "Combining ${area}" - cat $TMP_DIR/$area-*.csv | sort | uniq > ../csv/$area.csv + cat ${TMP_DIR}/${area}-*.csv | sort | uniq > ../csv/${area}.csv echo "Importing ${area}" - mysqlimport --fields-terminated-by=, --lines-terminated-by="\r\n" -L $DB_NAME ../csv/$area.csv + mysqlimport --fields-terminated-by=, --lines-terminated-by="\r\n" -L ${DB_NAME} ../csv/${area}.csv done -# mysqldump -u $DB_USER --password=$DB_PASS $DB_NAME > ../mysql/$DB_NAME.sql -mysqldump $DB_NAME > ../mysql/$DB_NAME.sql +mysqldump ${MYSQL_CONNECTION_OPTIONS} ${DB_NAME} > ../mysql/${DB_NAME}.sql -rm -rf $TMP_DIR +# rm -rf $TMP_DIR