blob: a1a99b20de7b4813c66339613e2474757dbde2e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#!/bin/bash
main() {
# Show help
if (( $# < 2 ))
then
echo "You need help"
return 2
fi
# Set the paths
local basedir="${MEDIA_BASEDIR:-/var/media}"
local mediadir="$basedir/$1" ; shift
# Ask for confirmation through a keypress
printf "Going to import %d URIs to %s...\n" "$#" "$mediadir"
read -s -n1
# Loop over all given args
for uri in "$@"
do
case "$uri" in
http://*) import_http "$mediadir" "$uri" ;;
https://*) import_http "$mediadir" "$uri" ;;
*) import_local "$mediadir" "$uri" ;;
esac
done
}
import_http() {
local dest="$1" ; shift
local uri="$1" ; shift
local temp="$(mktemp)"
wget -c -O "$temp" "$uri"
local output="$(import_local "$dest" "$temp" | awk '{ print $NF }')"
printf "%s -> %s\n" "$uri" "$output"
}
import_local() {
local dest="$1" ; shift
local uri="$1" ; shift
local hash="$(sha1sum "$uri" | awk '{ print $1 }')"
local ext="$(identify "$uri" | awk '{ print tolower($2) }')"
local out="$dest/$hash.$ext"
mv -- "$uri" "$out"
printf "%s -> %s\n" "$uri" "$out"
}
main "$@"
|