Handle HTTP redirections automatically.
[doldaconnect.git] / config / dc-filtercmd
CommitLineData
c072e0cb 1#!/bin/bash
d3372da9 2cmd="$1"
3shift
4
5if [ "$cmd" = userspeeda ]; then
6 while [ $# -gt 0 ]; do
7 peerfile="$(tr / _ <<<"$1")"
8 if [ -r "$HOME/dc/users/$peerfile" ]; then
9 speed="$((read num; read max; read nent; avg=0; for i in $(seq 1 $nent); do read ent; let avg+=$ent; done; let avg/=$nent; echo $avg) < "$HOME/dc/users/$peerfile")"
10 echo $speed
11 else
12 echo -1
13 fi
14 shift
15 done
16fi
17
18if [ "$cmd" = userspeedm ]; then
19 while [ $# -gt 0 ]; do
20 peerfile="$(tr / _ <<<"$1")"
21 if [ -r "$HOME/dc/users/$peerfile" ]; then
22 speed="$((read num; read max; echo $max) < "$HOME/dc/users/$peerfile")"
23 echo $speed
24 else
25 echo -1
26 fi
27 shift
28 done
29fi
30
31if [ "$cmd" = rmtag ]; then
32 for f in "$HOME"/dc/resume/*.info; do
33 if [ ! -e "${f%.info}.lock" ]; then
34 unset dcarg_tag
35 . "$f"
36 if [ "$dcarg_tag" = "$1" ]; then
a6478045 37 base="${f%.info}"
38 rm -f "$base" "${base}.info" "${base}.tthstate"
d3372da9 39 fi
40 fi
41 done
42fi
ed12a591 43
44if [ "$cmd" = remain ]; then
45 for f in "$HOME"/dc/resume/*.info; do
46 if [ ! -r "$f" ]; then
47 continue
48 fi
49 unset "${!dcarg_@}"
50 . "$f"
51 resfile="${f%.info}"
52 for id in "$@"; do
53 idt="${id%%:*}"
54 idd="${id#*:}"
55 match=n
56 if [ "$idt" = size ]; then
57 if [ "$idd" -eq "$filesize" ]; then
58 match=y
59 fi
60 elif [ "$idt" = hash ]; then
61 if [ "$idd" = "$dcarg_hash" ]; then
62 match=y
63 fi
64 elif [ "$idt" = all ]; then
65 match=y
66 fi
67 if [ "$match" = y ]; then
68 rfrem="$(wc -c <"$resfile" | sed 's/ //g')"
69 echo "size:$filesize"
70 echo "prog:$rfrem"
71 echo "name:$origname"
72 if [ -n "$dcarg_hash" ]; then
73 echo "hash:$dcarg_hash"
74 fi
75 fi
76 done
77 done
78fi
79
80if [ "$cmd" = lsres ]; then
81 for f in "$HOME"/dc/resume/*.info; do
82 if [ ! -r "$f" ]; then
83 continue
84 fi
85 . "$f"
86 resfile="${f%.info}"
87 rfrem="$(wc -c <"$resfile" | sed 's/ //g')"
88 echo "id:${resfile##*/}"
89 echo "size:$filesize"
90 echo "prog:$rfrem"
91 echo "name:$origname"
92 if [ -e "${resfile}.lock" ]; then
93 echo "lock:yes"
94 else
95 echo "lock:no"
96 fi
97 if [ -n "$dcarg_hash" ]; then
98 echo "hash:$dcarg_hash"
99 fi
100 done
101fi
102
103if [ "$cmd" = rmres ]; then
104 resfile="$HOME/dc/resume/$1"
105 if [ ! -r "${resfile}.info" ]; then
106 echo "err:notfound"
107 exit
108 fi
109 if [ -e "${resfile}.lock" ]; then
110 echo "err:locked"
111 exit
112 fi
a6478045 113 rm -f "$resfile" "${resfile}.info" "${resfile}.tthstate"
ed12a591 114 echo "ok"
115fi