source: autobuild/scripts/download

Last change on this file was 1504, checked in by moo, 3 months ago

nicer downloading status

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#!/bin/sh
2. scripts/common
3
4download() {
5    local file="$1"
6    local url="$2"
7    local ret
8    if [[ -f $file ]]; then
9        return 0
10    fi
11    begin "from $url"; {
12        printf "\r"
13        if type aria2c >/dev/null 2>/dev/null; then
14            (
15            builtin cd "$(dirname "$file")"
16            aria2c --check-certificate=false -m 0 -k 1M -x 10 -j 10 -s 10 -o "$(basename "$file.tmp")" "$url" && mv "$file.tmp" "$file"
17            )
18            ret=$?
19        elif type wget >/dev/null 2>/dev/null; then
20            wget --no-check-certificate -c -O "$file.tmp" "$url" && mv "$file.tmp" "$file"
21            ret=$?
22        else
23            curl -k -C - -o "$file.tmp" "$url" && mv "$file.tmp" "$file"
24            ret=$?
25        fi
26        rm -f "$file.tmp"
27    };
28    [[ $ret -eq 0 ]] && end || end "not found"
29   
30    return $ret
31}
32
33cleanup() {
34    local file
35    for file in "$sourceDir/"*.bz2 "$sourceDir/"*.zip; do
36        if [[ -f $file && ! -s $file ]]; then
37            rm -f "$file"
38        fi
39    done
40    exit
41}
42
43download_x() {
44    local filename=$1
45    shift
46
47    local url
48    local ret=1
49    begin "Downloading $filename"; {
50        while [ $# -gt 0 ]; do
51            url=$1
52            shift
53            if download "$sourceDir/$filename" $url; then
54                ret=0
55                break
56            fi
57        done
58    };
59    [[ $ret -eq 0 ]] && end "downloaded" || end "not found"
60    return $ret
61}
62
63trap cleanup exit
64
65phpFiles_foreach download_x
Note: See TracBrowser for help on using the repository browser.