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

Last change on this file since 42175 was 42175, checked in by phillipsd2, 20 months ago

Fix changes for local test without tithek running

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