summaryrefslogtreecommitdiff
path: root/get_chconf_pkg.sh
blob: a8b10f475ef2b2a339b7f725bd2241807ab6d4c9 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/sh
#
# Scipt to fetch all channels.conf from VDR-Wiki and from LinowSat
# Written by Helmut Auer 2009
#
VDR_WIKI_URL="http://www.vdr-wiki.de"
LINOWSAT_URL="http://www.linowsat.de/settings/vdr"
# recode Filter - set to "" if not needed or recode is not available
RECODE="recode utf-8..latin1"

function conv_chan() {
   FOUND=0
   NAME="channels.conf.$1"
   [ -f "channels.conf.$NAME" ]&& rm "channels.conf.$NAME"
   echo "Checking $1 ..."
   
   if [ "$RECODE" != "" ] ; then
      CCN="$1.rec"
      cat "$1" | $RECODE > $CCN
      rm "$1"
   else
      CCN="$1"
   fi 
   cat "$CCN" | while read i ; do
      if [ "$FOUND" = "0" ] ; then
         if [ "${i/h1 class=/}" != "$i" ] ; then
            NAME="${i#*>}"
            NAME=${NAME%<*}
            NAME=${NAME#* }
            NAME=${NAME// /-}
            NAME="${NAME//\//-}"
            NAME="${NAME//ä/ae}"
            NAME="${NAME//ö/oe}"
            NAME="$(echo "${NAME//ü/ue}" |sed -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_\-]/_/g")"	    
            [ -f "channels.conf.$NAME" ]&& rm "channels.conf.$NAME"
         fi
         if [ "${i/<pre>/}" != "$i" ] ; then
            FOUND=1
            i=${i#*<pre>}
         fi
      fi
      if [ "$FOUND" = "1" ] ; then
         if [ "${i/<\/pre>/}" != "$i" ] ; then
            FOUND=0
            i=${i%</pre>*}
         fi
         if [ "${i// /}" != "" ] ; then
            ln=${i//&amp;/&}
            ln=${ln//&nbsp;/ }
            echo "$ln" >> "channels.conf.$NAME"
         fi
         [ "$FOUND" = "0" ] && break
      fi
   done
   rm "$CCN"
}

if [ "$1" != "" ] ; then
   echo "Syntax:  $0"
   echo "  $0 will fetch all channellists from vdr-wiki and some from linowsat"
   echo "  and pu these into the current directory"
   exit
fi 

# get channels.conf from vdr-wiki
for i in S C T ; do
   wget -O - "$VDR_WIKI_URL/wiki/index.php/DVB-${i}_channels.conf" 2>/dev/null | grep "Channels.conf.DVB${i}" | sed -e "s#a href=\"/wiki#a\nhref=\"/wiki#g" | grep "php/Channels.conf.DVB${i}" | cut -f 2,4 -d '"' | grep -v "TEMPLATE" | while read chan ; do
      LNK="$VDR_WIKI_URL/${chan%\"*}"
      NAME="${chan#*\"}"
      NAME="${NAME//\//-}"
      CC="channels.conf.html.${NAME#Channels.conf }"
      wget -O - "$LNK" 2>/dev/null > "$CC"
      conv_chan "$CC"
   done
done
# get channels.conf from linowsat

wget -O channels.conf.DVBS-S19.2-Astra-FTA-Linowsat "$LINOWSAT_URL/0192/fta/channels.conf"
wget -O channels.conf.DVBS-S19.2-Astra-All-Linowsat "$LINOWSAT_URL/0192/ca/channels.conf"
wget -O channels.conf.DVBS-S19.2S13-Astra-Hotbird-FTA-Linowsat "$LINOWSAT_URL/01300192/fta/channels.conf"
wget -O channels.conf.DVBS-S19.2S13-Astra-Hotbird-All-Linowsat "$LINOWSAT_URL/01300192/ca/channels.conf"
wget -O channels.conf.DVBS-S19.2S13S28-Astra12-Hotbird-FTA-Linowsat "$LINOWSAT_URL/013001920282/fta/channels.conf"
wget -O channels.conf.DVBS-S19.2S13S28-Astra12-Hotbird-All-Linowsat "$LINOWSAT_URL/013001920282/ca/channels.conf"