source: titan/mediathek/localparser_secret/kinox.sh @ 43020

Last change on this file since 43020 was 43020, checked in by obi, 23 months ago

tithek fix kino sort

File size: 12.5 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
9#SRC=$1
10#INPUT=$2
11#PAGE=$3
12#NEXT=$4
13#
14#FILENAME=`echo $PAGE | tr '/' '.'`
15#FILENAME=`echo $FILENAME | tr '&' '.'`
16#
17#if [ -z "$PAGE" ]; then
18#       FILENAME=none
19#fi
20
21SRC=$1
22INPUT=$2
23PAGE=$3
24NEXT=$4
25PAGE2=$5
26PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
27
28FILENAME="$PARSER $INPUT $PAGE $NEXT $PAGE2"
29FILENAME=`echo $FILENAME | tr '&' '.' | tr '/' '.' | tr '?' '.'  | tr '=' '.' | sed 's/ \+/./g' | sed 's/\.\+/./g'`
30
31if [ -z "$FILENAME" ]; then
32        FILENAME=none
33fi
34
35URL=`cat /mnt/config/titan.cfg | grep tithek_kinox_url | grep -v "#" | cut -d "=" -f2`
36if [ -z "$URL" ];then
37        URL=https://kinoxto.stream
38fi
39PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
40NAME=KinoX
41
42if [ `cat /mnt/config/titan.cfg | grep tithek_kinox_localhoster=1 | wc -l` -eq 1 ];then
43        ACTIVEBIN="$curlbin" 
44elif [ `cat /mnt/config/titan.cfg | grep tithek_kinox_localhoster=2 | wc -l` -eq 1 ];then
45        ACTIVEBIN="$BIN /tmp/localhoster/cloudflare.py"
46else
47        ACTIVEBIN="$curlbin" 
48        URL=`echo $URL | sed 's/https:/http:/'`
49fi
50
51mkdir $TMP > /dev/null 2>&1
52
53if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then
54        TYPE="$SRC - Shell script"
55elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
56        TYPE="Swap - Shell script"
57elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
58        TYPE="Mnt - Shell script"
59else
60        TYPE="Flash - Shell script"
61fi
62
63init()
64{
65        rm -rf $TMP > /dev/null 2>&1
66        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
67}
68
69mainmenu()
70{
71        echo "Kino#$SRC $SRC kino 'Kino-filme.html'#http://atemio.dyndns.tv/mediathek/menu/Cine-Films.jpg#Cine-Films.jpg#$NAME#0" >$TMP/$FILENAME.list
72        echo "All (A-Z)#$SRC $SRC sorted#http://atemio.dyndns.tv/mediathek/menu/a-z.jpg#a-z.jpg#$NAME#0" >>$TMP/$FILENAME.list
73        echo "Search#http://atemio.dyndns.tv/mediathek/youtube/streams/kinox.all-sorted.list#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#KinoX#21" >>$TMP/$FILENAME.list
74        echo "Search Cast#http://atemio.dyndns.tv/mediathek/youtube/streams/kinox.all-sorted.list#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search10.jpg#KinoX#31" >>$TMP/$FILENAME.list
75        echo "$TMP/$FILENAME.list"
76}
77
78sorted()
79{
80        if [ ! -e "$TMP/$FILENAME.list" ]; then
81                watchlist="A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
82
83                rm $TMP/$FILENAME.list > /dev/null 2>&1
84
85                for ROUND0 in $watchlist; do
86                        TITLE=`echo $ROUND0`
87                        filename=`echo $TITLE | tr [A-Z] [a-z]`
88                        echo "$TITLE#$SRC $SRC search '$ROUND0' 1#http://atemio.dyndns.tv/mediathek/menu/$filename.jpg#$filename.jpg#$NAME#0" >> $TMP/$FILENAME.list
89                done
90        fi
91        echo "$TMP/$FILENAME.list"
92}
93
94search()
95{
96        if [ ! -e "$TMP/$FILENAME.list" ]; then
97                piccount=0
98
99                $ACTIVEBIN "$URL/aGET/List/?sEcho=1&iColumns=10&sColumns=&iDisplayStart=$NEXT&iDisplayLength=50&iSortingCols=1&iSortCol_0=5&sSortDir_0=asc&bSortable_0=true&bSortable_1=true&bSortable_2=true&bSortable_3=false&bSortable_4=false&bSortable_5=false&bSortable_6=true&additional=%7B%22fType%22%3A%22movie%22%2C%22fLetter%22%3A%22$PAGE%22%7D" > $TMP/cache.$FILENAME.1
100                if [ `cat $TMP/cache.$FILENAME.1 | grep "KinoX 404 Not Found" | wc -l` -eq 1 ];then
101                        ERRORMSG="KinoX 404 Not Found"
102#                       echo "errormsg=$ERRORMSG"
103                        LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
104                        echo "$LINE" > $TMP/$FILENAME.list
105                        exit
106                fi
107
108                if [ `cat $TMP/cache.$FILENAME.1 | grep "KinoX 503 Service Temporarily Unavailable" | wc -l` -eq 1 ];then
109                        ERRORMSG="KinoX 503 Service Temporarily Unavailable"
110#                       echo "errormsg=$ERRORMSG"
111                        LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
112                        echo "$LINE" > $TMP/$FILENAME.list
113                        exit
114                fi
115
116                pages=`cat $TMP/cache.$FILENAME.1 | tr ',' '\n' | grep iTotalDisplayRecords | cut -d '"' -f4`
117                if [ -z "$pages" ];then
118                        pages=0
119                fi
120                cat $TMP/cache.$FILENAME.1 | tr '\n' ' ' | sed 's!<TR>!\nfound=!g'| grep ^"found="  >$TMP/cache.$FILENAME.2
121
122                if [ "$pages" == " " ] || [ -z "$pages" ] || [ "$pages" == 0 ]; then
123                        rm $TMP/cache.$FILENAME.1
124                        break
125                        ls $TMP/cache.$FILENAME.1
126                        exit
127                fi
128       
129#               if [ $pages -gt 1000 ]; then
130#                       pages=1000
131#               fi
132       
133                max=`expr $pages - 4`
134#               echo max $max
135               
136                cat $TMP/cache.$FILENAME.1 | tr '],[' '\n' | grep 'Stream' | cut -d '/' -f3 | cut -d"\\" -f1 > $TMP/cache.$FILENAME.3
137
138                count=0
139
140                while read -u 3 ROUND; do
141                        piccount=`expr $piccount + 1`
142                        filename=`echo $ROUND | sed 's!/Stream/!!'`
143                        picname=`echo $filename | sed 's!.html!.jpg!'`
144                        searchname=`echo $filename | sed 's!.html!!'`   
145               
146                        TITLE=`echo $picname | sed 's!.jpg!!' | tr "_" " "`
147
148                        if [ `cat /mnt/config/titan.cfg | grep tithek_kinox_pic=1 | wc -l` -eq 1 ];then
149                #               $wgetbin --no-check-certificate "$MAINURL/$ROUND1" -O cache."$filename".list
150#                               echo $BIN /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
151                                $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
152                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
153#                                       echo $BIN2 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
154                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
155                                fi
156                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
157#                                       echo $BIN3 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
158                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
159                                fi
160                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
161#                                       echo $BIN4 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
162                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
163                                fi
164                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
165#                                       echo $BIN5 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
166                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
167                                fi
168                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
169#                                       echo $BIN6 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
170                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
171                                fi
172                                PIC=$URL/`cat $TMP/cache."$filename".list | tr '><' '>\n<' | grep $picname | cut -d '"' -f2 | sort -um`
173                                LANG=`cat $TMP/cache."$filename".list | grep 'alt="language" src="/gr/sys/lng' | sed 's!alt="language" src="/gr/sys/lng/!\n!' | tail -n1 |cut -d"." -f1`
174                        else
175                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
176                                LANG=1
177                        fi
178
179                        LANGTXT=" (de)"
180
181                        if [ ! -z $LANG ];then
182                                if [ $LANG = 1 ];then
183                                        LANGTXT=" (de)"
184                                elif [ $LANG = 2 ];then
185                                        LANGTXT=" (en)"
186                                else
187                                        LANGTXT=" (??)"
188                                fi
189                        fi
190
191                        NEWPAGE="$URL/Stream/$ROUND"
192
193                        if [ -z "$PIC" ]; then
194                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
195                        fi
196
197                        TITLE=`echo $TITLE | sed -e 's/&#038;/&/g' -e 's/&amp;/und/g' -e 's/&quot;/"/g' -e 's/&lt;/\</g' -e 's/&#034;/\"/g' -e 's/&#039;/\"/g' -e 's/#034;/\"/g' -e 's/#039;/\"/g' -e 's/&szlig;/\C3x/g' -e 's/&ndash;/-/g' -e 's/&Auml;/\C3/g' -e 's/&Uuml;/\C3S/g' -e 's/&Ouml;/\C3/g' -e 's/&auml;/\E4/g' -e 's/&uuml;/\FC/g' -e 's/&ouml;/\F6/g' -e 's/&eacute;/\E9/g' -e 's/&egrave;/\E8/g' -e 's/%F6/\F6/g' -e 's/%FC/\FC/g' -e 's/%E4/\E4/g' -e 's/%26/&/g' -e 's/%C4/\C3/g' -e 's/%D6/\C3/g' -e 's/%DC/\C3S/g' -e 's/%28/(/g' -e 's/%29/)/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%2B/&/g' -e 's/%C3/A/g' -e 's/%B1/&/g' -e 's/%5B//g' -e 's/%5D//g' -e 's!%2F!/!g' -e 's/|/ /g' -e 's/(/ /g' -e 's/)/ /g' -e 's/+/ /g' -e 's/\//-/g' -e 's/,/ /g' -e 's/;/ /g' -e 's/:/ /g' -e 's/\.\+/./g'`
198
199                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
200                                if [ ! -e $TMP/$FILENAME.list ];then
201                                        touch $TMP/$FILENAME.list
202                                fi
203                                piccount=`expr $piccount + 1`
204                                LINE="$TITLE$LANGTXT#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
205
206                                echo "$LINE" >> $TMP/$FILENAME.list
207                        fi
208
209                done 3<$TMP/cache.$FILENAME.3
210
211                if [ "$NEXT" -lt "$pages" ]; then
212                        NEXTPAGE=`expr $NEXT + 30`
213                        LINE="Page ($NEXTPAGE/$pages)#$SRC $SRC search '$PAGE' $NEXTPAGE#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0"
214                        echo "$LINE" >> $TMP/$FILENAME.list
215                fi
216
217                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
218        fi
219        echo "$TMP/$FILENAME.list"
220}
221
222kino()
223{
224#       rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
225#       rm $TMP/$FILENAME.list
226        if [ ! -e "$TMP/$FILENAME.list" ]; then
227                piccount=0
228#               $curlbin "$URL/$PAGE" -o "$TMP/cache.$FILENAME.1"
229                $ACTIVEBIN "$URL/$PAGE" > $TMP/cache.$FILENAME.1
230
231                if [ `cat $TMP/cache.$FILENAME.1 | grep "KinoX 404 Not Found" | wc -l` -eq 1 ];then
232                        ERRORMSG="KinoX 404 Not Found"
233#                       echo "errormsg=$ERRORMSG"
234                        LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
235                        echo "$LINE" > $TMP/$FILENAME.list
236                        exit
237                fi
238                if [ `cat $TMP/cache.$FILENAME.1 | grep "KinoX 503 Service Temporarily Unavailable" | wc -l` -eq 1 ];then
239                        ERRORMSG="KinoX 503 Service Temporarily Unavailable"
240#                       echo "errormsg=$ERRORMSG"
241                        LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
242                        echo "$LINE" > $TMP/$FILENAME.list
243                        exit
244                fi
245
246#               cat $TMP/cache.$FILENAME.1 | grep /Stream/ | sed 's!/Stream/!\n/Stream/!' | grep ^/Stream/ | cut -d '"' -f1  | cut -d "'" -f1 | sort -um >$TMP/cache.$FILENAME.2
247                cat $TMP/cache.$FILENAME.1 | grep /Stream/ | sed 's!/Stream/!\n/Stream/!' | grep ^/Stream/ | cut -d '"' -f1  | cut -d "'" -f1 >$TMP/cache.$FILENAME.2
248
249                while read -u 3 ROUND; do
250                        piccount=`expr $piccount + 1`
251                        filename=`echo $ROUND | sed 's!/Stream/!!'`
252                        picname=`echo $filename | sed 's!.html!.jpg!'`
253                        searchname=`echo $filename | sed 's!.html!!'`   
254               
255                        TITLE=`echo $picname | sed 's!.jpg!!' | tr "_" " "`
256
257                        if [ `cat /mnt/config/titan.cfg | grep tithek_kinox_pic=1 | wc -l` -eq 1 ];then
258                #               $wgetbin --no-check-certificate "$MAINURL/$ROUND1" -O cache."$filename".list
259#                               echo $BIN /tmp/localhoster/cloudflare.py "$URL/$ROUND"
260                                $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
261                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
262#                                       echo $BIN2 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
263                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
264                                fi
265                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
266#                                       echo $BIN3 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
267                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
268                                fi
269                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
270#                                       echo $BIN4 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
271                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
272                                fi
273                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
274#                                       echo $BIN5 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
275                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
276                                fi
277                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
278#                                       echo $BIN6 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
279                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
280                                fi
281                                PIC=$URL/`cat $TMP/cache."$filename".list | tr '><' '>\n<' | grep $picname | cut -d '"' -f2 | sort -um`
282                                LANG=`cat $TMP/cache."$filename".list | grep 'alt="language" src="/gr/sys/lng' | sed 's!alt="language" src="/gr/sys/lng/!\n!' | tail -n1 |cut -d"." -f1`
283                        else
284                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
285                                LANG=1
286                        fi
287
288                        LANGTXT=" (de)"
289
290                        if [ ! -z $LANG ];then
291                                if [ $LANG = 1 ];then
292                                        LANGTXT=" (de)"
293                                elif [ $LANG = 2 ];then
294                                        LANGTXT=" (en)"
295                                else
296                                        LANGTXT=" (??)"
297                                fi
298                        fi
299
300                        NEWPAGE="$URL/$ROUND"
301
302                        if [ -z "$PIC" ]; then
303                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
304                        fi
305
306                        TITLE=`echo $TITLE | sed -e 's/&#038;/&/g' -e 's/&amp;/und/g' -e 's/&quot;/"/g' -e 's/&lt;/\</g' -e 's/&#034;/\"/g' -e 's/&#039;/\"/g' -e 's/#034;/\"/g' -e 's/#039;/\"/g' -e 's/&szlig;/\C3x/g' -e 's/&ndash;/-/g' -e 's/&Auml;/\C3/g' -e 's/&Uuml;/\C3S/g' -e 's/&Ouml;/\C3/g' -e 's/&auml;/\E4/g' -e 's/&uuml;/\FC/g' -e 's/&ouml;/\F6/g' -e 's/&eacute;/\E9/g' -e 's/&egrave;/\E8/g' -e 's/%F6/\F6/g' -e 's/%FC/\FC/g' -e 's/%E4/\E4/g' -e 's/%26/&/g' -e 's/%C4/\C3/g' -e 's/%D6/\C3/g' -e 's/%DC/\C3S/g' -e 's/%28/(/g' -e 's/%29/)/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%2B/&/g' -e 's/%C3/A/g' -e 's/%B1/&/g' -e 's/%5B//g' -e 's/%5D//g' -e 's!%2F!/!g' -e 's/|/ /g' -e 's/(/ /g' -e 's/)/ /g' -e 's/+/ /g' -e 's/\//-/g' -e 's/,/ /g' -e 's/;/ /g' -e 's/:/ /g' -e 's/\.\+/./g'`
307
308                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
309                                if [ ! -e $TMP/$FILENAME.list ];then
310                                        touch $TMP/$FILENAME.list
311                                fi
312                                piccount=`expr $piccount + 1`
313                                LINE="$TITLE$LANGTXT#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
314
315                                if [ `cat $TMP/$FILENAME.list | grep "$TITLE" | wc -l` -eq 0 ];then
316                                        echo "$LINE" >> $TMP/$FILENAME.list
317                                fi
318                        fi
319
320                done 3<$TMP/cache.$FILENAME.2
321                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
322
323        fi
324        echo "$TMP/$FILENAME.list"
325}
326
327case $INPUT in
328        init) $INPUT;;
329        mainmenu) $INPUT;;
330        search) $INPUT;;
331        kino) $INPUT;;
332        sorted) $INPUT;;
333esac
Note: See TracBrowser for help on using the repository browser.