source: titan/mediathek/localparser_secret/7tv.sh @ 44502

Last change on this file since 44502 was 44502, checked in by obi, 11 months ago

optimize tithek start

File size: 7.7 KB
Line 
1#!/bin/sh
2# first sh box parser for titannit mfg obi
3
4SRC=$1
5INPUT=$2
6PAGE=$3
7
8URL=http://www.7tv.de/
9PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
10NAME=7tv
11
12case $2 in
13        init) echo skip load hoster.sh;;
14        *)      . /tmp/localhoster/hoster.sh
15                mkdir $TMP > /dev/null 2>&1
16                FILENAME="$PARSER $INPUT $PAGE"
17                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')
18                if [ -z "$FILENAME" ]; then FILENAME=none;fi
19                PICNAME="$FILENAME"
20                ;;
21esac
22
23
24if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then
25        TYPE="$SRC - Shell script"
26elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
27        TYPE="Swap - Shell script"
28elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
29        TYPE="Mnt - Shell script"
30else
31        TYPE="Flash - Shell script"
32fi
33
34init()
35{
36#       rm -f /mnt/network/cookies > /dev/null 2>&1
37        rm -rf $TMP > /dev/null 2>&1
38        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
39}
40
41mainmenu()
42{
43        echo "Search Serien#$SRC $SRC search '7tvsearch/search/query/%search%/type/format/offset/0/limit/5'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >$TMP/$FILENAME.list
44        echo "Search Clips#$SRC $SRC search '7tvsearch/search/query/%search%/type/clip/offset/0/limit/5'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >>$TMP/$FILENAME.list
45        echo "Search Ganue Folgen#$SRC $SRC search '7tvsearch/search/query/%search%/type/episode/offset/0/limit/5'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >>$TMP/$FILENAME.list
46        echo "$TMP/$FILENAME.list"
47}
48
49#13:22:35.345 T:140602909902592   DEBUG: [plugin.video.7tvneu-1.0.1](searchtext) URL-x : https://www.7tv.de/7tvsearch/search/query/big+brother/type/format/offset/0/limit/5
50#suche big broter
51#
52#serien
53#14:07:13.118 T:139913047566080   DEBUG: 'GET /7tvsearch/search/query/big+brother/type/format/offset/0/limit/5 HTTP/1.1\r\nHost: www.7tv.de\r\nConnection: close\r\nAccept-Encoding: gzip, deflate\r\n\r\n'
54#
55#clips
56#14:08:13.114 T:139913047566080   DEBUG: 'GET /7tvsearch/search/query/big+brother/type/clip/offset/0/limit/5 HTTP/1.1\r\nHost: www.7tv.de\r\nConnection: close\r\nAccept-Encoding: gzip, deflate\r\n\r\n'
57#
58#ganue folgen
59#14:09:21.003 T:139914294122240   DEBUG: 'GET /7tvsearch/search/query/big+brother/type/episode/offset/0/limit/5 HTTP/1.1\r\nHost: www.7tv.de\r\nConnection: close\r\nAccept-Encoding: gzip, deflate\r\n\r\n'
60
61search()
62{
63        if [ ! -e "$TMP/$FILENAME.list" ]; then
64                piccount=0
65
66                $curlbin $URL/$PAGE$NEXT$PAGE2 -o $TMP/cache.$FILENAME.1
67#               $BIN /tmp/localhoster/cloudflare.py "$URL/$PAGE$NEXT$PAGE2" > $TMP/cache.$FILENAME.1
68
69                pages=`cat $TMP/cache.$FILENAME.1 | grep $PAGE | sed "s/$PAGE/\n$PAGE/g" | cut -d ">" -f2 | cut -d "<" -f1 | tail -n1`
70                if [ -z "$pages" ];then
71                        pages=0
72                fi
73                cat $TMP/cache.$FILENAME.1 | tr '\n' ' ' | sed 's!<a href=!\n<a href=!g' | grep ^"<a href=" >$TMP/cache.$FILENAME.2
74
75                while read -u 3 ROUND; do
76                        ID=`echo $ROUND | cut -d'"' -f1 | tail -n1`
77                        NEWPAGE=`echo $ROUND | sed -nr 's/.*<a href="([^"]+)".*/\1/p'`
78                        TITLE=`echo $NEWPAGE | tr '-' ' ' | sed 's!/!!'`
79                        PIC=`echo $ROUND | sed -nr 's/.*data-src="([^"]+)".*/\1/p'`
80       
81                        if [ -z "$PIC" ]; then
82                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
83                        fi
84                        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;/ä/g' -e 's/&uuml;/ü/g' -e 's/&ouml;/ö/g' -e 's/&eacute;/é/g' -e 's/&egrave;/è/g' -e 's/%F6/ö/g' -e 's/%FC/ü/g' -e 's/%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'`
85       
86                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
87                                if [ ! -e $TMP/$FILENAME.list ];then
88                                        touch $TMP/$FILENAME.list
89                                fi
90                                piccount=`expr $piccount + 1`
91
92                                LINE="$TITLE (ganze-folgen)#$SRC $SRC episode $NEWPAGE/ganze-folgen#$PIC#$PARSER.$INPUT.$NEXT.$PAGE2.$FILENAME.$piccount.jpg#$NAME#0"
93                                echo "$LINE" >> $TMP/$FILENAME.list
94
95                                LINE="$TITLE (alle-clips)#$SRC $SRC episode $NEWPAGE/alle-clips#$PIC#$PARSER.$INPUT.$NEXT.$PAGE2.$FILENAME.$piccount.jpg#$NAME#0"
96                                echo "$LINE" >> $TMP/$FILENAME.list
97                        fi
98       
99                done 3<$TMP/cache.$FILENAME.2
100                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
101        fi
102        echo "$TMP/$FILENAME.list"
103}
104
105episode()
106{
107        if [ ! -e "$TMP/$FILENAME.list" ]; then
108                piccount=0
109
110                $curlbin $URL/$PAGE$NEXT$PAGE2 -o $TMP/cache.$FILENAME.1
111#               $BIN /tmp/localhoster/cloudflare.py "$URL/$PAGE$NEXT$PAGE2" > $TMP/cache.$FILENAME.1
112
113                if [ -z "$NEXT" ];then
114                        NEXT=1
115                fi
116                pages=`cat $TMP/cache.$FILENAME.1 | grep $PAGE | sed "s/$PAGE/\n$PAGE/g" | cut -d ">" -f2 | cut -d "<" -f1 | tail -n1`
117                if [ -z "$pages" ];then
118                        pages=0
119                fi
120                cat $TMP/cache.$FILENAME.1 | tr '\n' ' ' | sed 's!<a href=!\n<a href=!g' | grep ^"<a href=" | grep "teaser-img" | grep "data-track" >$TMP/cache.$FILENAME.2
121
122                while read -u 3 ROUND; do
123                        ID=`echo $ROUND | cut -d'"' -f1 | tail -n1`
124                        NEWPAGE=`echo $ROUND | sed -nr 's/.*<a href="([^"]+)".*/\1/p'`
125                        TITLE=`echo $ROUND | sed -nr 's/.*title="([^"]+)".*/\1/p'`
126                        if [ -z "$TITLE" ]; then
127                                TITLE=`echo $NEWPAGE | tr '-' ' ' | sed 's!/!!'`
128                        fi
129
130                        TITLE=`echo $TITLE | tr '-' '\n' | tail -n3 | tr '\n' '-'`
131
132                        PIC=`echo $ROUND | sed -nr 's/.*data-src="([^"]+)".*/\1/p'`
133       
134                        if [ -z "$PIC" ]; then
135                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
136                        fi
137
138                        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;/ä/g' -e 's/&uuml;/ü/g' -e 's/&ouml;/ö/g' -e 's/&eacute;/é/g' -e 's/&egrave;/è/g' -e 's/%F6/ö/g' -e 's/%FC/ü/g' -e 's/%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'`
139       
140                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
141                                if [ ! -e $TMP/$FILENAME.list ];then
142                                        touch $TMP/$FILENAME.list
143                                fi
144                                piccount=`expr $piccount + 1`
145
146#                               LINE="$TITLE#$SRC $SRC episodetvlist $NEWPAGE#$PIC#$PARSER.$INPUT.$NEXT.$PAGE2.$FILENAME.$piccount.jpg#$NAME#0"
147                                LINE="$TITLE#$SRC $SRC play '$NEWPAGE'#$PIC#$FILENAME.$piccount.jpg#$NAME#111"
148
149                                echo "$LINE" >> $TMP/$FILENAME.list
150
151                        fi
152       
153                done 3<$TMP/cache.$FILENAME.2
154
155                PAGE=`cat $TMP/cache.$FILENAME.1 | sed -nr 's/.*data-ajax-more="([^"]+)".*/\1/p'`
156
157                if [ ! -z "$PAGE" ];then
158#                       if [ "$NEXT" -lt "$pages" ]; then
159                                NEXTPAGE=`expr $NEXT + 1`
160#                               LINE="Page ($NEXTPAGE/$pages)#$SRC $SRC episodetv '$PAGE' $NEXTPAGE '$PAGE2'#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0"
161                                LINE="Page (+1)#$SRC $SRC episode '$PAGE' $NEXTPAGE '$PAGE2'#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0"
162                                echo "$LINE" >> $TMP/$FILENAME.list
163#                       fi
164                fi
165                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
166        fi
167        echo "$TMP/$FILENAME.list"
168}
169
170play()
171{
172        /tmp/localhoster/hoster.sh youtube_dl $PAGE
173}
174
175
176case $INPUT in
177        init) $INPUT;;
178        mainmenu) $INPUT;;
179        play) $INPUT;;
180        search) $INPUT;;
181        episode) $INPUT;;
182        episodelist) $INPUT;;
183esac
Note: See TracBrowser for help on using the repository browser.