source: titan/mediathek/localparser_free/mediathekdirect.sh @ 42464

Last change on this file since 42464 was 42464, checked in by obi, 2 years ago

tithek testfix speedup init localhoster

  • Property svn:executable set to *
File size: 6.4 KB
Line 
1#!/bin/sh
2# first sh box parser for titannit mfg obi
3
4case $2 in
5        init) echo skip load hoster.sh;;
6        *) . /tmp/localhoster/hoster.sh;;
7esac
8
9SRC=$1
10INPUT=$2
11PAGE=$3
12NEXT=$4
13
14PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
15
16FILENAME="`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'` $INPUT $PAGE $NEXT"
17FILENAME="`echo $FILENAME | sed -e 's/\&\+/./g' -e 's#\/\+#.#g' -e 's/\?\+/./g' -e 's/;\+/./g' -e 's/=\+/./g' -e 's/ \+/./g' -e 's/\.\+/./g'`"
18PICNAME=`echo $FILENAME`
19
20if [ -z "$FILENAME" ]; then
21        FILENAME=none
22fi
23
24URL=http://www.mediathekdirekt.de
25#PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
26NAME=MediathekDirekt
27
28#rm -rf $TMP > /dev/null 2>&1
29mkdir $TMP > /dev/null 2>&1
30
31if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then
32        TYPE="$SRC - Shell script"
33elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
34        TYPE="Swap - Shell script"
35elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
36        TYPE="Mnt - Shell script"
37else
38        TYPE="Flash - Shell script"
39fi
40
41init()
42{
43        rm -rf $TMP > /dev/null 2>&1
44        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
45}
46
47mainmenu()
48{
49        echo "Channels#$SRC $SRC channels 'good.json'#http://atemio.dyndns.tv/mediathek/menu/channels.jpg#channels.jpg#$NAME#0" > $TMP/$FILENAME.list
50        echo "Shows#$SRC $SRC shows 'good.json'#http://atemio.dyndns.tv/mediathek/menu/shows.jpg#shows.jpg#$NAME#0" >> $TMP/$FILENAME.list
51        echo "Date#$SRC $SRC date 'good.json'#http://atemio.dyndns.tv/mediathek/menu/date.jpg#date.jpg#$NAME#0" >> $TMP/$FILENAME.list
52        echo "ALL#$SRC $SRC videos 'good.json'#http://atemio.dyndns.tv/mediathek/menu/all.jpg#all.jpg#$NAME#0" >> $TMP/$FILENAME.list
53        echo "$TMP/$FILENAME.list"
54} 
55
56channels1()
57{
58        watchlist="
59                3Sat
60                ARD
61                ARTE.DE
62                ARTE.FR
63                BR
64                DW
65                HR
66                KiKA
67                MDR
68                NDR
69                ORF
70                PHOENIX
71                RBB
72                SR
73                SRF
74                SRF.Podcast
75                SWR
76                WDR
77                ZDF
78                "
79        rm $TMP/$FILENAME.list > /dev/null 2>&1
80
81        for ROUND0 in $watchlist; do
82                TITLE=`echo $ROUND0 | tr '/' '-' | sed 's/-filme//g'`
83                filename=`echo $TITLE | tr 'A-Z' 'a-z'` 
84                echo "$TITLE#$SRC $SRC videosgrep 'good.json' '$ROUND0'#http://atemio.dyndns.tv/mediathek/menu/$filename.jpg#$filename.jpg#$NAME#0" >> $TMP/$FILENAME.list
85        done
86        echo "$TMP/$FILENAME.list"
87}
88
89date()
90{
91#curl http://www.mediathekdirekt.de/good.json | tr '[' '\n'|  cut -d"," -f4 | grep -v [a-z] | grep -v [A-Z] | grep "[0.9].[0.9].[0.9]" | sort -u | sort -r -k 1.10 -k 1.6 | sed '1,1d'
92        if [ ! -e "$TMP/$FILENAME.list" ]; then
93                $curlbin $URL/$PAGE | tr '[' '\n'|  cut -d"," -f4 | grep -v [a-z] | grep -v [A-Z] | grep "[0.9].[0.9].[0.9]" | sort -u | sort -r -k 1.10 -k 1.6 | sed '1,1d' > $TMP/cache.$FILENAME.1
94
95                rm $TMP/$FILENAME.list > /dev/null 2>&1
96                while read -u 3 ROUND; do
97                        TITLE=`echo $ROUND | cut -d'"' -f2`
98                        filename=`echo $TITLE | tr 'A-Z' 'a-z'` 
99                        echo "$TITLE#$SRC $SRC videosgrep 'good.json' $ROUND#http://atemio.dyndns.tv/mediathek/menu/$filename.jpg#$filename.jpg#$NAME#0" >> $TMP/$FILENAME.list
100                done 3<$TMP/cache.$FILENAME.1
101        fi
102        echo "$TMP/$FILENAME.list"
103}
104
105channels()
106{
107        if [ ! -e "$TMP/$FILENAME.list" ]; then
108                $curlbin -o - $URL/$PAGE | tr '[' '\n' | awk '{ gsub(/\\"/, "\x27"); print }'  | grep ^'"' | awk '{ gsub(/\", \"/, "\" ; \""); print }' | cut -d ";" -f1 | sort -u > $TMP/cache.$FILENAME.1
109                rm $TMP/$FILENAME.list > /dev/null 2>&1
110       
111                while read -u 3 ROUND; do
112                        TITLE=`echo $ROUND | cut -d'"' -f2`
113                        filename=`echo $TITLE | tr 'A-Z' 'a-z'`         
114                        echo "$TITLE#$SRC $SRC videosgrep 'good.json' $ROUND#http://atemio.dyndns.tv/mediathek/menu/$filename.jpg#$filename.jpg#$NAME#0" >> $TMP/$FILENAME.list
115                done 3<$TMP/cache.$FILENAME.1
116        fi
117        echo "$TMP/$FILENAME.list"
118}
119
120shows()
121{
122        if [ ! -e "$TMP/$FILENAME.list" ]; then
123                $curlbin -o - $URL/$PAGE | tr '[' '\n' | awk '{ gsub(/\\"/, "\x27"); print }'  | grep ^'"' | awk '{ gsub(/\", \"/, "\" ; \""); print }' | cut -d ";" -f3 | sort -u | grep ^' "' > $TMP/cache.$FILENAME.1
124                rm $TMP/$FILENAME.list > /dev/null 2>&1
125       
126                while read -u 3 ROUND; do
127                        TITLE=`echo $ROUND | cut -d'"' -f2`
128                        filename=`echo $TITLE | tr 'A-Z' 'a-z'` 
129                        echo "$TITLE#$SRC $SRC videosgrep 'good.json' $ROUND#http://atemio.dyndns.tv/mediathek/menu/$filename.jpg#$filename.jpg#$NAME#0" >> $TMP/$FILENAME.list
130                done 3<$TMP/cache.$FILENAME.1
131        fi
132        echo "$TMP/$FILENAME.list"
133}
134
135videosgrep()
136{
137        if [ ! -e "$TMP/$FILENAME.list" ]; then
138                $curlbin -o - $URL/$PAGE | tr '[' '\n' | grep \""$NEXT"\" | awk -v SRC=$SRC -v NAME=$NAME -v PICNAME=$PICNAME \
139                '
140                        # BEGIN variable setzen
141                        BEGIN
142                        {
143                                # setzt suchvariable auf 0 vor dem start
144                        }
145                        # eindeutige zeile vor ersten treffer
146                        /^\"/ \
147                        {
148                                # print "111111" $0
149                                gsub(/\\"/, "\x27", $0, $0)
150
151                                # print "222222" $0
152
153                                split($0, a, "\"")
154                pic = "http://atemio.dyndns.tv/mediathek/menu/default.jpg"
155
156                                sender = a[2]
157                                title = a[4]
158                                date = a[8]
159                                duration = a[10]
160                                stream = a[14]
161                                print sender " - " title " (" date ") (" duration ")#" stream "#" pic "#" PICNAME ".jpg#" NAME "#2"
162
163                                next
164                        }
165                # schreibe alles in die list datei
166                ' >$TMP/$FILENAME.list
167        fi
168        # gebe titan den list namen mit pfad zurueck
169        echo "$TMP/$FILENAME.list"
170}
171
172videos()
173{
174        if [ ! -e "$TMP/$FILENAME.list" ]; then
175                $curlbin -o - $URL/$PAGE | tr '[' '\n' | awk -v SRC=$SRC -v NAME=$NAME -v PICNAME=$PICNAME \
176                '
177                        # BEGIN variable setzen
178                        BEGIN
179                        {
180                                # setzt suchvariable auf 0 vor dem start
181                        }
182                        # eindeutige zeile vor ersten treffer
183                        /^\"/ \
184                        {
185                                # print "111111" $0
186                                gsub(/\\"/, "\x27", $0, $0)
187
188                                # print "222222" $0
189
190                                split($0, a, "\"")
191                                # print "a1" a[1]
192                                # print "a2" a[2]
193                                # print "a3" a[3]
194                                # print "a4" a[4]
195                                # print "a5" a[5]
196                                # print "a6" a[6]
197                                # print "a7" a[7]
198                                # print "a8" a[8]
199                                # print "a9" a[9]
200                                # print "a10" a[10]
201                                # print "a11" a[11]
202                                # print "a12" a[12]
203                                # print "a13" a[13]
204                                # print "a14" a[14]
205                                # print "a15" a[15]
206                               
207                pic = "http://atemio.dyndns.tv/mediathek/menu/default.jpg"
208
209                                sender = a[2]
210                                title = a[4]
211                                date = a[8]
212                                duration = a[10]
213                                stream = a[14]
214                                print sender " - " title " (" date ") (" duration ")#" stream "#" pic "#" PICNAME ".jpg#" NAME "#2"
215
216                                next
217                        }
218                # schreibe alles in die list datei
219                ' >$TMP/$FILENAME.list
220        fi
221        # gebe titan den list namen mit pfad zurueck
222        echo "$TMP/$FILENAME.list"
223}
224
225case $INPUT in
226        init) $INPUT;;
227        mainmenu) $INPUT;;
228        channels) $INPUT;;
229        date) $INPUT;;
230        videos) $INPUT;;
231        videosgrep) $INPUT;;
232        shows) $INPUT;;
233esac
Note: See TracBrowser for help on using the repository browser.