source: titan/mediathek/localparser_free/clipfish.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: 7.2 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
13PAGE2=$5
14PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
15
16FILENAME="`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'` $INPUT $PAGE $NEXT $PAGE2"
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.clipfish.de
25NAME="ClipFish"
26
27mkdir $TMP > /dev/null 2>&1
28
29if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then
30        TYPE="$SRC - Shell script"
31elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
32        TYPE="Swap - Shell script"
33elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
34        TYPE="Mnt - Shell script"
35else
36        TYPE="Flash - Shell script"
37fi
38
39init()
40{
41        rm -rf $TMP > /dev/null 2>&1
42        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
43}
44
45mainmenu()
46{
47        echo "Kategorien#$SRC $SRC category '/devmobileapp/metachannels' 1#http://atemio.dyndns.tv/mediathek/menu/category.jpg#category.jpg#$NAME#0" >$TMP/$FILENAME.list
48        echo "Suchen#$SRC $SRC search '/devmobileapp/searchvideos/%search%/mostrecent/' 1 '/16'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >>$TMP/$FILENAME.list
49        echo "$TMP/$FILENAME.list"
50}
51
52category()
53{
54        if [ ! -e "$TMP/$FILENAME.list" ]; then
55                $curlbin -o - $URL$PAGE | sed -e 's!</html>\[{"id"!</html>\[{"id"\nfound={"id"!g' -e 's/}],/\nfound=/g' | awk -v SRC=$SRC -v NAME=$NAME -v PICNAME=$PICNAME -v INPUT=$INPUT -v PAGE=$PAGE -v NEXT=$NEXT \
56                '
57                        # BEGIN variable setzen
58                        BEGIN
59                        {
60                                # setzt suchvariable auf 0 vor dem start
61                                piccount = 0
62                                pages = "1"
63                        }
64                        /"id"/ \
65                        {
66                                i = index($0, "\"id\":\"") + 6
67                    j = index(substr($0, i), "\",\"") - 1
68                                id = substr($0, i, j)
69
70                                i = index($0, "\"specials\":\"") + 9
71                    j = index(substr($0, i), "\",\"") - 1
72                                title1 = substr($0, i, j)
73
74                                i = index($0, "\"title\":\"") + 9
75                    j = index(substr($0, i), "\",\"") - 1
76                                title = substr($0, i, j)
77
78                                i = index($0, "\"media_length\":\"") + 16
79                    j = index(substr($0, i), "\",\"") - 1
80                                duration = substr($0, i, j)
81
82                                i = index($0, "\"id\":\"") + 6
83                    j = index(substr($0, i), "\"") - 1
84                                newpage = substr($0, i, j)
85
86                                gsub(/\\/, "", newpage, newpage)
87
88                        pic = "http://atemio.dyndns.tv/mediathek/menu/"
89
90                                piccount += 1
91                                print title "#" SRC " " SRC " submenu \x27/devmobileapp/metachannels\x27 " newpage "#" pic tolower(title) ".jpg#" PICNAME "." piccount ".jpg#" NAME "#0"
92
93                                next
94                        }
95                        END
96                        {
97#                               if (curpage != pages)
98#                                       print "Page (" NEXT + 1 "/" pages ")#" SRC " " SRC " " INPUT " \x27" PAGE "\x27 " NEXT + 1 "#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#" NAME "#0"
99                        }
100                # schreibe alles in die list datei
101                ' >$TMP/$FILENAME.list
102        fi
103        # gebe titan den list namen mit pfad zurueck
104        echo "$TMP/$FILENAME.list"
105}
106
107submenu()
108{
109        if [ ! -e "$TMP/$FILENAME.list" ]; then
110                $curlbin -o - $URL$PAGE | sed -e 's!</html>\[{"id"!</html>\[{"id"\nfound1={"id"!g' -e 's/}],/\nfound1=/g' | grep \"id\":\"$NEXT\" | sed -e 's/:\[{/\nfound=}/g' -e 's/},{/\nfound=},{/g' | grep found= | awk -v SRC=$SRC -v NAME=$NAME -v PICNAME=$PICNAME -v INPUT=$INPUT -v PAGE=$PAGE -v NEXT=$NEXT \
111                '
112                        # BEGIN variable setzen
113                        BEGIN
114                        {
115                                # setzt suchvariable auf 0 vor dem start
116                                piccount = 0
117                                pages = "1"
118                        }
119                        /"id"/ \
120                        {
121                                i = index($0, "\"id\":\"") + 6
122                    j = index(substr($0, i), "\",\"") - 1
123                                id = substr($0, i, j)
124
125                                if(id == "=},{")
126                                {
127                                        i = index($0, "\"id\":") + 5
128                            j = index(substr($0, i), ",\"") - 1
129                                        id = substr($0, i, j)
130                                }
131
132                                i = index($0, "\"title\":\"") + 9
133                    j = index(substr($0, i), "\",\"") - 1
134                                title = substr($0, i, j)
135
136                                i = index($0, "\"id\":\"") + 6
137                    j = index(substr($0, i), "\"") - 1
138                                newpage = substr($0, i, j)
139
140                                if(newpage == "=},{")
141                                {
142                                        i = index($0, "\"id\":") + 5
143                            j = index(substr($0, i), ",\"") - 1
144                                        newpage = substr($0, i, j)
145                                }
146
147                                gsub(/\\/, "", newpage, newpage)
148
149                                i = index($0, "\"img_thumbnail\":\"") + 17
150                    j = index(substr($0, i), "\"") - 1
151                                pic = substr($0, i, j)
152                                gsub(/\\/, "", pic, pic)
153
154                                piccount += 1
155                                if ( pic != "1" )
156                                if ( pic ~ /http/ )
157                                        print title "#" SRC " " SRC " search \x27/devmobileapp/specialvideos/" newpage "/mostrecent/\x27 1 \x27/16\x27#" pic "#" PICNAME "." piccount ".jpg#" NAME "#0"
158
159                                next
160                        }
161                        END
162                        {
163#                               if (curpage != pages)
164#                                       print "Page (" NEXT + 1 "/" pages ")#" SRC " " SRC " " INPUT " \x27" PAGE "\x27 " NEXT + 1 "#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#" NAME "#0"
165                        }
166                # schreibe alles in die list datei
167                ' >$TMP/$FILENAME.list
168        fi
169        # gebe titan den list namen mit pfad zurueck
170        echo "$TMP/$FILENAME.list"
171}
172
173search()
174{
175        if [ ! -e "$TMP/$FILENAME.list" ]; then
176                $curlbin -o - $URL$PAGE$NEXT$PAGE2 | sed 's/{"video_id":/\n{"video_id":/g' | awk -v SRC=$SRC -v NAME=$NAME -v PICNAME=$PICNAME -v INPUT=$INPUT -v PAGE=$PAGE -v NEXT=$NEXT \
177                '
178                        # BEGIN variable setzen
179                        BEGIN
180                        {
181                                # setzt suchvariable auf 0 vor dem start
182                                piccount = 0
183                                pages = "1"
184                        }
185                        /"list_page_limit"/ \
186                        {
187                                        i = index($0, "\"list_page_limit\":\"") + 19
188                            j = index(substr($0, i), "\",\"") - 1
189                                        pages = substr($0, i, j)
190                        }
191                        /"video_id"/ \
192                        {
193                                i = index($0, "\"title\":\"") + 9
194                    j = index(substr($0, i), "\",\"") - 1
195                                title = substr($0, i, j)
196
197                                i = index($0, "\"media_length\":\"") + 16
198                    j = index(substr($0, i), "\",\"") - 1
199                                duration = substr($0, i, j)
200
201                                i = index($0, "\"pubDate\":\"") + 11
202                    j = index(substr($0, i), "\",\"") - 1
203                                extra = substr($0, i, j)
204
205                                i = index($0, "\"video_url_edge_quality\":\"") + 26
206                    j = index(substr($0, i), "\"") - 1
207                                newpage = substr($0, i, j)
208
209                                if (newpage == "")
210                                {
211                                        i = index($0, "\"video_url_wifi_quality\":\"") + 26
212                            j = index(substr($0, i), "\"") - 1
213                                        newpage = substr($0, i, j)
214                                }
215                                if (newpage == "")
216                                {
217                                        i = index($0, "\"media_videourl_hls\":\"") + 22
218                            j = index(substr($0, i), "\"") - 1
219                                        newpage = substr($0, i, j)
220                                }
221                                gsub(/\\/, "", newpage, newpage)
222
223                                i = index($0, "\"media_content_thumbnail_large\":\"") + 33
224                    j = index(substr($0, i), "\"") - 1
225                                pic = substr($0, i, j)
226                                gsub(/\\/, "", pic, pic)
227
228                                piccount += 1
229                                if ( pic == "" )
230                                {
231                        pic = "http://atemio.dyndns.tv/mediathek/menu/default.jpg"
232                                }
233                                print title " (" duration "s) (" extra ")#" newpage "#" pic "#" PICNAME "." piccount ".jpg#" NAME "#2"
234
235                                next
236                        }
237                        END
238                        {
239#                               if (curpage != pages)
240                                        print "Page (" NEXT + 1 "/" pages ")#" SRC " " SRC " " INPUT " \x27" PAGE "\x27 " NEXT + 1 " \x27/16\x27#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#" NAME "#0"
241
242
243                        }
244                # schreibe alles in die list datei
245                ' >$TMP/$FILENAME.list
246        fi
247        # gebe titan den list namen mit pfad zurueck
248        echo "$TMP/$FILENAME.list"
249}
250
251case $INPUT in
252#       init) $INPUT;;
253        mainmenu) $INPUT;;
254        search) $INPUT;;
255        category) $INPUT;;
256        submenu) $INPUT;;       
257esac
Note: See TracBrowser for help on using the repository browser.