diff options
author | Suren A. Chilingaryan <csa@suren.me> | 2019-10-10 23:59:38 +0200 |
---|---|---|
committer | Suren A. Chilingaryan <csa@suren.me> | 2019-10-10 23:59:38 +0200 |
commit | 682b308d8a7804d0ae2b2606b3ba0ff8814c1473 (patch) | |
tree | 9a191e0b4f963668fa60cabdd9ee33694886f35e /download.sh | |
download | openmtbmap-682b308d8a7804d0ae2b2606b3ba0ff8814c1473.tar.gz openmtbmap-682b308d8a7804d0ae2b2606b3ba0ff8814c1473.tar.bz2 openmtbmap-682b308d8a7804d0ae2b2606b3ba0ff8814c1473.tar.xz openmtbmap-682b308d8a7804d0ae2b2606b3ba0ff8814c1473.zip |
Initial release
Diffstat (limited to 'download.sh')
-rwxr-xr-x | download.sh | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/download.sh b/download.sh new file mode 100755 index 0000000..2631ec7 --- /dev/null +++ b/download.sh @@ -0,0 +1,63 @@ +#! /bin/bash + +# cat list.html | cut -d '"' -f 6 > list.txt +# Need to clean + +if [ -z "$1" ]; then + echo "$0 <list_name>" + exit -1 +fi + +list="$1" +listname="$(basename $list .txt)" +if [ ! -f "$list" ]; then + echo "List "$list" is not found" + exit -1 +fi + +if [[ "$list" =~ "velo" ]]; then + url_nonu="http://openmtbmap.org/?s2member_file_download=odbl/nonunicode/english" + url="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/velomap" +else + url_nonu="http://openmtbmap.org/?s2member_file_download=odbl/nonunicode/english" + url="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl" +fi + + +if [ ! -f "cookies.jar" ]; then + curl -d log="csa7fff" -d pwd="$(cat .pass)" -d rememberme="forever" --cookie-jar ./cookies.jar https://openmtbmap.org/wp-login.php &> /dev/null + [ $? -ne 0 ] && { echo "Login failed"; exit 1; } +fi + + +mkdir -p downloads +for name in $(cat $list); do + [ -f downloads/$name ] && continue + + # Try first non-unicode + fail=0 + curl -L --cookie cookies.jar "$url_nonu/$name" -o "downloads/$name" &> /dev/null + if [ $? -ne 0 ]; then + fail=1 + else + size=$(du -sm "downloads/$name" | awk '{ print $1 }') + [ $size -lt 2 ] && fail=1 + fi + + if [ $fail -ne 0 ]; then + rm -f downloads/$name + + fail=0 + curl -o downloads/$name $url/$name &> /dev/null + if [ $? -ne 0 ]; then + fail=1 + else + size=$(du -sm "downloads/$name" | awk '{ print $1 }') + [ $size -lt 2 ] && fail=1 + fi + [ $fail -ne 0 ] && echo "*** Failed ***: $name" + [ $fail -eq 0 ] && echo "Unicode version: $name" + else + echo "Non-unicode version downloaded: $name" + fi +done |