source: titan/mediathek/localparser_free/dmax.sh @ 44503

Last change on this file since 44503 was 44503, checked in by obi, 4 years ago

opti next step

File size: 7.6 KB
Line 
1#!/bin/sh
2# first sh box parser for titannit mfg obi
3
4SRC=$1
5INPUT=$2
6CURPAGE=$3
7MAXPAGE=$4
8PAGE=$5
9
10URL=https://www.dmax.de
11PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
12NAME="DMAX"
13
14case $2 in
15        init)   ;;
16        *)      . /tmp/localhoster/hoster.sh
17                mkdir $TMP > /dev/null 2>&1
18                FILENAME="$PARSER $INPUT $PAGE $NEXT"
19                FILENAME=$(echo $FILENAME | tr '&' '.' | tr '/' '.' | tr '?' '.' | tr '=' '.' | sed -e 's/\&\+/./g' -e 's#\/\+#.#g' -e 's/\?\+/./g' -e 's/;\+/./g' -e 's/=\+/./g' -e 's/ \+/./g' -e 's/\.\+/./g')
20                if [ -z "$FILENAME" ]; then FILENAME=none;fi
21                PICNAME="$FILENAME"
22                ;;
23esac
24
25if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then
26        TYPE="$SRC - Shell script"
27elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
28        TYPE="Swap - Shell script"
29elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
30        TYPE="Mnt - Shell script"
31else
32        TYPE="Flash - Shell script"
33fi
34
35init()
36{
37#       if [ "$ARCH" == "arm" ] || [ "$ARCH" == "mipsel" ] || ([ "$ARCH" == "sh4" ] && [ -e "/etc/.beta" ]);then
38                rm -rf $TMP > /dev/null 2>&1
39                echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
40#       fi
41}
42
43mainmenu()
44{
45        echo "Genres#$SRC $SRC genre 1 0 'themen'#http://atemio.dyndns.tv/mediathek/menu/all-newfirst.jpg#all-newfirst.jpg#$NAME#0" > $TMP/$PARSER.$INPUT.list
46        echo "Search#$SRC $SRC series 1 0 '/api/search?query='#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >> $TMP/$PARSER.$INPUT.list
47
48        if [ -e "$TMP/$PARSER.new.list" ] ; then
49                rm $TMP/$PARSER.new.list
50        fi
51        if [ "`echo $TMP/$PARSER.search.*.list`" != "$TMP/$PARSER.search.*.list" ] ; then
52                rm $TMP/$PARSER.search.*.list
53        fi
54        if [ -e "$TMP/$PARSER.page.list" ] ; then
55                rm $TMP/$PARSER.page.list
56        fi
57
58        echo "$TMP/$PARSER.$INPUT.list"
59}
60
61genre()
62{
63        if [ ! -e "$TMP/$PARSER.$INPUT.list" ] ; then
64                $curlbin $URL/$PAGE -o $TMP/cache.$PARSER.$INPUT.1
65                cat $TMP/cache.$PARSER.$INPUT.1 | sed 's!sendungen"},{"submenu!sendungen"},\n{"submenu!g' | sed -n '/sendungen"},/{n;p;}' | cut -d "]" -f1 | sed -e 's!"title"!\n"title"!g' | sed "/submenu/d" > /$TMP/cache.$PARSER.$INPUT.2
66                while read -u 3 ROUND; do
67                        TITLE=`echo $ROUND | cut -d '"' -f4 | sed 's!"title":!!g' | cut -d '"' -f2`
68                        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/&%8211;/-/g' -e "s/&%8217;/'/g"`
69                        NEWPAGE=`echo $ROUND | sed 's/"url/\n"url/g' | grep ^'"url"' | sed 's!"url"!!g'| cut -d '"' -f2 | sed 's!themen!api/genres!g'`
70
71                        if [ -z  "$PIC" ]; then 
72                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
73                                TMPPIC="default.jpg"
74                        else
75                                TMPPIC=$PARSER'_'`echo $PIC | tr '/' '\n' | tail -n1`
76                        fi
77
78                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
79                                if [ `cat $TMP/$PARSER.$INPUT.list | grep ^"$NEWPAGE" | wc -l` -eq 0 ];then
80                                        if [ ! -e $TMP/$PARSER.$INPUT.list ];then
81                                                touch $TMP/$PARSER.$INPUT.list
82                                        fi
83                                        LINE="$TITLE#$SRC $SRC series 1 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#0"
84                                        echo "$LINE" >> $TMP/$PARSER.$INPUT.list
85                                fi
86                        fi
87                done 3<$TMP/cache.$PARSER.$INPUT.2
88                rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
89        fi
90
91        if [ "`echo $TMP/$PARSER.series.*.list`" != "$TMP/$PARSER.series.*.list" ] ; then
92                rm $TMP/$PARSER.series.*.list
93        fi
94
95       
96        echo "$TMP/$PARSER.$INPUT.list"
97}
98
99series()
100{
101        if [ ! -e "$TMP/$PARSER.$INPUT.$CURPAGE.list" ] ; then
102               
103                if [ "$CURPAGE" -eq "1" ] ; then
104                        NEWPAGE=$PAGE
105                else
106                        NEWPAGE=$PAGE'?page='$CURPAGE
107                fi
108               
109                $curlbin $URL$NEWPAGE -o $TMP/cache.$PARSER.$INPUT.$CURPAGE.1
110
111                cat $TMP/cache.$PARSER.$INPUT.$CURPAGE.1 | sed 's!"id"!\n"id"!g' | sed '/alias/d' > /$TMP/cache.$PARSER.$INPUT.$CURPAGE.2
112                echo >> $TMP/cache.$PARSER.$INPUT.$CURPAGE.2
113                while read -u 3 ROUND; do
114                        TITLE=`echo $ROUND | sed 's/"title"/\n"title"/g' | grep '"title"' | cut -d ',' -f1 | sed 's!"title":!!g'`
115                        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/&%8211;/-/g' -e "s/&%8217;/'/g"`
116                        PIC=`echo $ROUND | sed 's/"src"/\n"src"/g' | sed 's!"src":!!g' | sed 's!id!!g' | grep "http[^ ]*"| cut -d '"' -f2`
117                        NEWPAGE=api/show-detail/`echo $ROUND | sed 's/"id"/\n"id"/' | grep ^'"id":' | sed 's!"id":!!g'| cut -d '"' -f2`
118
119                        if [ -z  "$PIC" ]; then 
120                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
121                                TMPPIC="default.jpg"
122                        else
123                                TMPPIC=$PARSER_`echo $PIC | tr '/' '\n' | tail -n1`
124                        fi
125
126                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
127                                        LINE="$TITLE#$SRC $SRC season 1 0 '$NEWPAGE'#$PIC#$TMPPIC#$NAME#0"
128                                        echo "$LINE" >> $TMP/$PARSER.$INPUT.$CURPAGE.list
129                               
130                        fi
131                done 3<$TMP/cache.$PARSER.$INPUT.$CURPAGE.2
132
133                MAXPAGE=$(grep '"totalPages"' $TMP/cache.$PARSER.$INPUT.$CURPAGE.2 |sed 's!"totalPages!\n"totalPages!g' | sed -n '/meta/{n;p;}' | sed 's!"totalPages":!!g' | cut -d '}' -f1)
134
135                if [ $MAXPAGE != $CURPAGE ];then
136               
137                NEWPAGE=`expr $CURPAGE + 1`
138                echo "Page $NEWPAGE#$SRC $SRC series $NEWPAGE $MAXPAGE '$PAGE'#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0" >> $TMP/$PARSER.$INPUT.$CURPAGE.list
139                fi
140               
141
142                rm $TMP/cache.$PARSER.$INPUT.$CURPAGE.* > /dev/null 2>&1
143        fi
144       
145        if [ "`echo $TMP/$PARSER.season.*.list`" != "$TMP/$PARSER.season.*.list" ] ; then
146                rm $TMP/$PARSER.season.*.list
147        fi
148       
149        echo "$TMP/$PARSER.$INPUT.$CURPAGE.list"
150}
151
152season()
153{
154        if [ ! -e "$TMP/$PARSER.$INPUT.$CURPAGE.list" ] ; then
155               
156                if [ "$CURPAGE" -eq "1" ] ; then
157                        NEWPAGE=$PAGE
158                else
159                        NEWPAGE=$PAGE'?page='`expr $CURPAGE - 1`
160                fi
161               
162                $curlbin $URL/$NEWPAGE -o $TMP/cache.$PARSER.$INPUT.$CURPAGE.1
163
164                cat $TMP/cache.$PARSER.$INPUT.$CURPAGE.1 | sed 's!"videos"!\n"videos"!g' | sed '/"show"/d' | sed 's!"id"!\n"id"!g' | sed '/"videos"/d' > /$TMP/cache.$PARSER.$INPUT.$CURPAGE.2
165                echo >> $TMP/cache.$PARSER.$INPUT.$CURPAGE.2
166                while read -u 3 ROUND; do
167                        TITLE=`echo $ROUND | sed 's!"name"!\n"name"!1' | grep ^'"name":' | cut -d '"' -f4`
168                        TITLE=`echo $TITLE | sed -e 's/-/ /g' -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/&%8211;/-/g' -e "s/&%8217;/'/g"`
169                        PIC=`echo $ROUND | sed 's!"src"!\n"src"!1' | grep '"src":' | cut -d '"' -f4`
170                        NEWPAGE=https://sonic-eu1-prod.disco-api.com/playback/videoPlaybackInfo/`echo $ROUND | sed 's!"id"!\n"id"!g' | grep ^'"id":' | cut -d '"' -f4`
171
172                        if [ -z  "$PIC" ]; then 
173                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
174                                TMPPIC="default.jpg"
175                        else
176                                TMPPIC=$PARSER'_'`echo $PIC | tr '/' '\n' | tail -n1`
177                        fi
178
179                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
180                               
181                                        LINE="$TITLE#$SRC $SRC play 0 0 '$NEWPAGE'#$PIC#$TMPPIC#$NAME#111"
182                                        echo "$LINE" >> $TMP/$PARSER.$INPUT.$CURPAGE.list
183                               
184                        fi
185                done 3<$TMP/cache.$PARSER.$INPUT.$CURPAGE.2
186
187                rm $TMP/cache.$PARSER.$INPUT.$CURPAGE.* > /dev/null 2>&1
188        fi
189       
190        if [ "`echo $TMP/$PARSER.episode.*.list`" != "$TMP/$PARSER.episode.*.list" ] ; then
191                rm $TMP/$PARSER.episode.*.list
192                rm /tmp/tithek/$PARSER.episode.* > /dev/null 2>&1
193       
194        fi
195       
196        echo "$TMP/$PARSER.$INPUT.$CURPAGE.list"
197}
198
199play()
200{
201        if [ -e "$TMP/$PARSER.$INPUT.list" ] ; then
202                rm $TMP/$PARSER.$INPUT.list
203        fi
204       
205        TOKEN=$($curlbin $URL | sed 's!"sonicToken"!\n"sonicToken"!g' | grep ^'"sonicToken":' | cut -d '"' -f4)
206        curl -H "Authorization: Bearer $TOKEN" $PAGE -o $TMP/cache.$PARSER.$INPUT.1a
207
208        cat $TMP/cache.$PARSER.$INPUT.1a | grep -A 2 'hls' | grep '"url"' | cut -d '"' -f4 > $TMP/cache.$PARSER.$INPUT.2
209#       cat $TMP/cache.$PARSER.$INPUT.1a | grep -A 2 'dash' | grep '"url"' | cut -d '"' -f4 >> $TMP/cache.$PARSER.$INPUT.2
210
211        cat $TMP/cache.$PARSER.$INPUT.2 > $TMP/$PARSER.playlist.list
212
213        echo "$TMP/$PARSER.playlist.list"
214}
215
216case $INPUT in
217        init) $INPUT;;
218        mainmenu) $INPUT;;
219        genre) $INPUT;;
220        series) $INPUT;;
221        season) $INPUT;;
222        play) $INPUT;;
223esac
Note: See TracBrowser for help on using the repository browser.