Ivars 7 years ago
parent
commit
0a6fc5fa91

+ 40
- 15
PlayStream.py View File

@@ -1,12 +1,12 @@
1 1
 #!/usr/bin/env python
2 2
 # coding=utf8
3
-# This file is part of PlayStream - enigma2 plugin to play video streams from various sources
3
+# This file is part of PlayStream - enigma2 plughhhhin to play video streams from various sources
4 4
 # Copyright (c) 2016 ivars777 (ivars777@gmail.com)
5 5
 # Distributed under the GNU GPL v3. For full terms see http://www.gnu.org/licenses/gpl-3.0.en.html
6 6
 # Used fragments of code from enigma2-plugin-tv3play by Taapat (https://github.com/Taapat/enigma2-plugin-tv3play)
7 7
 #
8 8
 
9
-__version__ = "0.7e"
9
+__version__ = "0.7o"
10 10
 __id__ = "playstream"
11 11
 __title__ = "PlayStream"
12 12
 __author__ = "ivars777@gmail.com"
@@ -49,12 +49,18 @@ from Tools.Directories import resolveFilename, SCOPE_PLUGINS
49 49
 from Tools.LoadPixmap import LoadPixmap
50 50
 from skin import loadSkin
51 51
 from twisted.web.client import downloadPage,defer,reactor
52
+try:
53
+    # available since twisted 14.0
54
+    from twisted.internet._sslverify import ClientTLSOptions
55
+except ImportError:
56
+    ClientTLSOptions = None
57
+from twisted.internet.ssl import ClientContextFactory
52 58
 
53 59
 from plugin_locale import _
54
-import ContentSources
55
-import util
60
+from content import ContentSources
61
+from content import util
56 62
 from VideoDownload import DownloadJob, HLSDownloadJob,VideoDownloadList
57
-from Downloader import get_header, get_ext
63
+from content.Downloader import get_header, get_ext
58 64
 #import enigma2_api
59 65
 
60 66
 e2 = None
@@ -72,6 +78,16 @@ config.plugins.playstream.overwrite_download = ConfigYesNo(default = False)
72 78
 config.plugins.playstream.clear_tmp = ConfigYesNo(default = True)
73 79
 config.plugins.playstream.check_update = ConfigYesNo(default = True)
74 80
 
81
+
82
+class CustomContextFactory(ClientContextFactory):
83
+    def __init__(self, hostname = None):
84
+        self.hostname = hostname
85
+    def getContext(self):
86
+        ctx = self._contextFactory(self.method)
87
+        if self.hostname and ClientTLSOptions:
88
+            ClientTLSOptions(self.hostname, ctx)
89
+        return ctx
90
+
75 91
 #####################################################################################################################
76 92
 class MainScreen(Screen):
77 93
     def __init__(self, session):
@@ -129,7 +145,7 @@ class MainScreen(Screen):
129 145
         self.history = []
130 146
 
131 147
         reload(ContentSources)
132
-        self.sources = ContentSources.ContentSources(os.path.join(cur_directory,"sources"))
148
+        self.sources = ContentSources.ContentSources(os.path.join(cur_directory, "content", "sources"))
133 149
         self.config = self.sources.plugins["config"]
134 150
         self.cur_menu = ("Home","config::home","","Sākums") #
135 151
         self.content = self.sources.get_content(self.cur_menu[1])
@@ -195,7 +211,7 @@ class MainScreen(Screen):
195 211
                 image_path = os.path.join(config.plugins.playstream.tmp_dir.value, fname)
196 212
                 self.download_image(image_path, image_url)
197 213
             else: # local file
198
-                image_path = os.path.join(cur_directory,image_url)
214
+                image_path = os.path.join(cur_directory, "picons", image_url)
199 215
                 self.start_decode(image_path,image_url)
200 216
 
201 217
     def start_decode(self,image_path,image_url):
@@ -204,11 +220,14 @@ class MainScreen(Screen):
204 220
         sc = AVSwitch().getFramebufferScale()
205 221
         if  not self.picloads.has_key(image_path):
206 222
             self.picloads[image_path] = ePicLoad()
207
-            self.picloads[image_path].PictureData.get().append(boundFunction(self.decode_finished, image_path))
223
+            try:
224
+                self.picloads[image_path].PictureData.get().append(boundFunction(self.decode_finished, image_path))
225
+            except:
226
+                self.picloads[image_path].PictureData.connect(boundFunction(self.decode_finished, image_path))
208 227
             self.picloads[image_path].setPara((self["pic"].instance.size().width(),
209 228
                                           self["pic"].instance.size().height(),
210 229
                                           sc[0], sc[1], True, 0, "#00000000"))
211
-            #print image_path,image_url
230
+            print image_path,image_url
212 231
             self.picloads[image_path].startDecode(image_path)
213 232
 
214 233
     def decode_finished(self, image_path, picInfo = None):
@@ -230,7 +249,7 @@ class MainScreen(Screen):
230 249
         #print "Image download started",self.downloading,image_path,image_url
231 250
         self.downloading += 1
232 251
         self.images[image_url] = -1
233
-        downloadPage(image_url, image_path).addCallback(boundFunction(self.download_image_finished, image_path, image_url)).addErrback(boundFunction(self.download_image_failed, image_path, image_url))
252
+        downloadPage(image_url, image_path, CustomContextFactory(image_url.split("/")[2])).addCallback(boundFunction(self.download_image_finished, image_path, image_url)).addErrback(boundFunction(self.download_image_failed, image_path, image_url))
234 253
 
235 254
     def download_image_finished(self, image_path, image_url, result):
236 255
         self.downloading -= 1
@@ -311,7 +330,7 @@ class MainScreen(Screen):
311 330
         data = self.current[1]
312 331
         source = data.split("::")[0]
313 332
         if self.sources.is_video(data) and "get_info" in dir(self.sources.plugins[source]):
314
-            self.sources.plugins
333
+            #self.sources.plugins
315 334
             try:
316 335
                 nfo = self.sources.get_info(self.current[1])
317 336
             except Exception, e:
@@ -344,8 +363,11 @@ class MainScreen(Screen):
344 363
             self.show_content(new_content)
345 364
 
346 365
     def back(self):
347
-        self["list"].setIndex(0)
348
-        self.ok()
366
+        if self.history:
367
+            self["list"].setIndex(0)
368
+            self.ok()
369
+        else:
370
+            self.cancel()
349 371
 
350 372
     def show_content(self,content,index=0):
351 373
         self["list"].setList(content)
@@ -1168,7 +1190,7 @@ class StreamInfo(Screen):
1168 1190
             fname = image_url.replace(":", "-").replace("/", "_")
1169 1191
             image_path = os.path.join(config.plugins.playstream.tmp_dir.value, fname)
1170 1192
             if not os.path.exists(image_path):
1171
-                downloadPage(image_url, image_path).addCallback(boundFunction(self.download_finished, image_path,image_url)).addErrback(boundFunction(self.download_failed, image_path,image_url))
1193
+                downloadPage(image_url, image_path, CustomContextFactory(image_url.split("/")[2])).addCallback(boundFunction(self.download_finished, image_path,image_url)).addErrback(boundFunction(self.download_failed, image_path,image_url))
1172 1194
             else:
1173 1195
                 self.download_finished(image_path, image_url)
1174 1196
         elif image_url:
@@ -1178,7 +1200,10 @@ class StreamInfo(Screen):
1178 1200
     def download_finished(self, image_path,image_url):
1179 1201
         sc = AVSwitch().getFramebufferScale()
1180 1202
         self.picloads = ePicLoad()
1181
-        self.picloads.PictureData.get().append(boundFunction(self.finish_decode, image_path))
1203
+        try:
1204
+            self.picloads.PictureData.get().append(boundFunction(self.finish_decode, image_path))
1205
+        except:
1206
+            self.picloads.PictureData.connect(boundFunction(self.finish_decode, image_path))
1182 1207
         # 0=Width 1=Height 2=Aspect 3=use_cache 4=resize_type 5=Background(#AARRGGBB)
1183 1208
         self.picloads.setPara((self["pic"].instance.size().width(), self["pic"].instance.size().height(),
1184 1209
                                sc[0], sc[1], True, 0, "#00000000"))

+ 615
- 316
PlayStream.wpr
File diff suppressed because it is too large
View File


+ 1
- 2
VideoDownload.py View File

@@ -10,8 +10,7 @@ from Components.Task import Task, Job, job_manager
10 10
 from Screens.Screen import Screen
11 11
 from Tools.Directories import fileExists
12 12
 
13
-from Downloader import DownloadWithProgress, DownloadWithProgressFragmented,get_header
14
-
13
+from content.Downloader import DownloadWithProgress, DownloadWithProgressFragmented,get_header
15 14
 
16 15
 def timer_callback(timer,callback):
17 16
     if "callback" in dir(timer):

+ 40
- 1
changelog.md View File

@@ -1,7 +1,46 @@
1
+**0.7o** (10.12.2017)
2
+- [change] salabots ltc search
3
+- [change] salabots filmix search
4
+- [change] salabots mtgplay (tvplay) search un sortēšana
5
+- [change] salabots cinemalive get_video
6
+- u.c.
7
+
8
+**0.7n** (14.11.2017)
9
+- [change] salabots ltc (shortuc.lv)
10
+
11
+**0.7m** (14.10.2017)
12
+- [bugfix] lmt -  attēlus nerādīja
13
+- [bugifx] mtgplay (skaties.lv) - papildus pārbaudes, ja nav raidījuma attēlu
14
+
15
+**0.7l** (11.10.2017)
16
+- [change] Izeja no plugina ar Exit esot sākuma logā
17
+
18
+**0.7k** (11.10.2017)
19
+- [bugfix] TLSOptions nav Twisted versijām <14.0
20
+- [bugfix] PictureData savietojamība ar openenigma (get->connect)
21
+
22
+**0.7j** (11.10.2017)
23
+- [bugfix] key_exit un key_menu png faili iekļauti instalācijā
24
+
25
+**0.7i** (10.10.2017)
26
+- [bugfix] cinemalive.lv bilžu downloads (custom ClientContextFactory)
27
+- [change] replay info sakārtošana
28
+- [bugfix] skin.xml neesošās krasas un png
29
+
30
+**0.7h** (07.10.2017)
31
+- [change] Salabots cinemalive (strādā gan openload, gan cloudsany)
32
+
33
+**0.7g** (04.10.2017)
34
+- [change] Salaboti ltc,filmix,cinemalive u.c.
35
+
36
+**0.7f** (13.09.2017)
37
+- [change] Avoti iznesti atsevišķā folderī/git projektā
38
+- [change] Sakārtots stream.cfg (bildes u.c.)
39
+- [change] ltc tv info update
40
+
1 41
 **0.7e** (13.09.2017)
2 42
 - [bugfix] Salabots lattelecom.tv (bija pamainīts web formāts)
3 43
 
4
-
5 44
 **0.7c** (03.09.2017)
6 45
 - [bugfix] Salabots filmix (pamainīts direct url avots uz html5 + dekodēšana kods)
7 46
 

+ 12
- 10
deploy.bat View File

@@ -19,18 +19,20 @@ plugin.png
19 19
 skin.xml
20 20
 PlayStream.py
21 21
 PlayStream.png
22
-ContentSources.py
23 22
 VideoDownload.py
24
-Downloader.py
25 23
 enigma2_api.py
26
-resolver.py
27
-util.py
28
-playstreamproxy.py
29
-offline.mp4
30
-sources\*.py
31
-resolvers\*.py
32
-picons\*
24
+content\__ini__.py
25
+content\ContentSources.py
26
+content\resolver.py
27
+content\util.py
28
+content\run.py
29
+content\Downloader.py
30
+content\playstreamproxy.py
31
+content\offline.mp4
32
+content\demjson.py
33
+content\sources\*.py
34
+content\resolvers\*.py
33 35
 locale\*
34 36
 ) do echo f | xcopy /y  %%f %TARGET%%%f
35
-
37
+xcopy /y /q content\picons\* %TARGET%picons\
36 38
 pause

+ 3
- 1
deploy_ipk.bat View File

@@ -1,6 +1,8 @@
1 1
 @echo off
2 2
 set dm=dm800se
3 3
 set pname=enigma2-plugin-extensions-playstream_
4
+set /p ver=<version.txt
5
+
4 6
 if (dm800se)==(%1%) (
5 7
 	set TARGET=v:\tmp
6 8
 ) else if (dm500hd)==(%1%) (
@@ -11,6 +13,6 @@ if (dm800se)==(%1%) (
11 13
 	GOTO:EOF
12 14
 )
13 15
 
14
-xcopy /y  release\%pname%%2.ipk %TARGET%\
16
+xcopy /y  release\%pname%%ver%.ipk %TARGET%\
15 17
 
16 18
 pause

+ 92
- 66
imake.bat View File

@@ -1,13 +1,22 @@
1 1
 @echo off
2
+
3
+:--- Pull content submodule ---
4
+rem cd content
5
+rem git checkout .
6
+rem git pull
7
+rem cd ..
8
+
2 9
 :=== Parameters ===
3 10
 
11
+:--- Extract version number ---
4 12
 python get_version.py PlayStream.py >version.txt
5 13
 cat version.txt
6
-pause
14
+rem pause
7 15
 set /p ver=<version.txt
8 16
 echo Version: %ver%
9
-
10 17
 pause
18
+
19
+:--- Set variables ---
11 20
 set prog=PlayStream
12 21
 set pack_name=enigma2-plugin-extensions-playstream
13 22
 set desc=Play online streams from various sources, mostly Latvian
@@ -22,9 +31,10 @@ set feed_dir=q:\web\feed\
22 31
 set AR=\MinGW\bin\ar.exe
23 32
 set TAR=\MinGW\msys\1.0\bin\tar.exe
24 33
 
25
-:=== data files ===
34
+:=== Create data files ===
26 35
 if exist %ipk_dir% rm -r -f %ipk_dir%
27 36
 mkdir %ipk_dir%
37
+
28 38
 for %%f in (
29 39
 readme.md
30 40
 changelog.md
@@ -35,50 +45,55 @@ plugin.png
35 45
 skin.xml
36 46
 %prog%.py
37 47
 %prog%.png
38
-ContentSources.py
48
+key_menu.png
49
+key_exit.png
39 50
 VideoDownload.py
40
-Downloader.py
41 51
 enigma2_api.py
42
-resolver.py
43
-util.py
44
-playstreamproxy.py
45
-offline.mp4
46
-demjson.py
52
+content\__init__.py
53
+content\ContentSources.py
54
+content\Downloader.py
55
+content\resolver.py
56
+content\util.py
57
+content\icon.gif
58
+content\run.py
59
+content\playstreamproxy.py
60
+content\offline.mp4
61
+content\demjson.py
62
+content\sources\__init__.py
63
+content\sources\SourceBase.py
64
+content\sources\cinemalive.py
65
+content\sources\config.py
66
+content\sources\euronews.py
67
+content\sources\filmix.py
68
+content\sources\filmon.py
69
+content\sources\iplayer.py
70
+content\sources\kinofilmnet.py
71
+content\sources\movieplace.py
72
+content\sources\ltc.py
73
+content\sources\mtgplay.py
74
+content\sources\play24.py
75
+content\sources\replay.py
76
+content\sources\lmt.py
77
+content\sources\serialguru.py
78
+content\sources\tvdom.py
79
+content\sources\ustvnow.py
80
+content\sources\viaplay.py
81
+content\sources\YouTubeVideoUrl.py
82
+content\sources\jsinterp.py
83
+content\sources\swfinterp.py
84
+content\sources\streams.cfg
85
+content\resolvers\__init__.py
86
+content\resolvers\aadecode.py
87
+content\resolvers\hqqresolver.py
88
+content\resolvers\openload3.py
89
+content\resolvers\hdgo.py
90
+content\resolvers\kapnob.py
91
+content\resolvers\kodik.py
92
+content\resolvers\cloudsany.py
93
+content\resolvers\youtuberesolver.py
47 94
 locale\*.*
48
-sources\__init__.py
49
-sources\SourceBase.py
50
-sources\cinemalive.py
51
-sources\config.py
52
-sources\euronews.py
53
-sources\filmix.py
54
-sources\filmon.py
55
-sources\iplayer.py
56
-sources\kinofilmnet.py
57
-sources\movieplace.py
58
-sources\ltc.py
59
-sources\mtgplay.py
60
-sources\play24.py
61
-sources\replay.py
62
-sources\lmt.py
63
-sources\serialguru.py
64
-sources\tvdom.py
65
-sources\ustvnow.py
66
-sources\viaplay.py
67
-sources\YouTubeVideoUrl.py
68
-sources\jsinterp.py
69
-sources\swfinterp.py
70
-sources\streams.cfg
71
-resolvers\__init__.py
72
-resolvers\aadecode.py
73
-resolvers\hqqresolver.py
74
-resolvers\openload3.py
75
-resolvers\hdgo.py
76
-resolvers\kapnob.py
77
-resolver\kodik.py
78
-resolvers\youtuberesolver.py
79
-picons\*.*
80 95
 ) do echo f | xcopy /y /q %%f %ipk_dir%data\%ext_dir%%prog%\%%f
81
-
96
+xcopy /y /q content\picons\* %ipk_dir%data\%ext_dir%%prog%\picons\
82 97
 xcopy /y /q playstreamproxy %ipk_dir%data\etc\init.d\
83 98
 
84 99
 :=== control file ===
@@ -102,11 +117,15 @@ dos2unix %ipk_dir%CONTROL\control
102 117
 :=== preinst file ===
103 118
 (
104 119
 echo #!/bin/sh
105
-:echo if [ -d %ext_dir2%%prog% ]; then
106
-:echo   rm -rf %ext_dir2%%prog%/* ^> /dev/null 2^>^&1
107
-:echo   rm -rf %ext_dir2%%prog%/sources/*.py* ^> /dev/null 2^>^&1
108
-:echo   rm -rf %ext_dir2%%prog%/resolvers/*.py* ^> /dev/null 2^>^&1
109
-:echo fi
120
+echo if [ -d %ext_dir2%%prog%/sources ]; then
121
+echo    rm -rf %ext_dir2%%prog%/*.pyo ^> /dev/null 2^>^&1
122
+echo    rm -rf %ext_dir2%%prog%/resolvers ^> /dev/null 2^>^&1
123
+echo    mkdir %ext_dir2%%prog%/content
124
+echo    mkdir %ext_dir2%%prog%/content/sources
125
+echo    mv %ext_dir2%%prog%/sources/streams.cfg %ext_dir2%%prog%/content/sources/streams.cfg.old
126
+echo    mv %ext_dir2%%prog%/sources/*.cfg %ext_dir2%%prog%/content/sources/
127
+echo    rm -rf %ext_dir2%%prog%/sources ^> /dev/null 2^>^&1
128
+echo fi
110 129
 echo if [ -e /etc/init.d/playstreamproxy ]; then
111 130
 echo   rm /etc/init.d/playstreamproxy ^> /dev/null 2^>^&1
112 131
 echo fi
@@ -121,6 +140,10 @@ echo chmod +x /etc/init.d/playstreamproxy
121 140
 echo ln -s /etc/init.d/playstreamproxy /etc/rc4.d/S50playstreamproxy
122 141
 echo ln -s /etc/init.d/playstreamproxy /etc/rc3.d/S50playstreamproxy
123 142
 echo ln -s /etc/init.d/playstreamproxy /usr/bin/playstreamproxy
143
+echo   rm -rf %ext_dir2%%prog%/*.pyo ^> /dev/null 2^>^&1
144
+echo   rm -rf %ext_dir2%%prog%/content/sources/*.pyo ^> /dev/null 2^>^&1
145
+echo   rm -rf %ext_dir2%%prog%/content/resolvers/*.pyo ^> /dev/null 2^>^&1
146
+
124 147
 echo exit 0
125 148
 ) >%ipk_dir%CONTROL\postinst
126 149
 dos2unix %ipk_dir%CONTROL\postinst
@@ -128,16 +151,16 @@ dos2unix %ipk_dir%CONTROL\postinst
128 151
 :=== postrm file ===
129 152
 (
130 153
 echo #!/bin/sh
131
-:echo if [ -e /etc/rc4.d/S50playstreamproxy ]; then
154
+rem echo if [ -e /etc/rc4.d/S50playstreamproxy ]; then
132 155
 echo   rm /etc/rc4.d/S50playstreamproxy ^> /dev/null 2^>^&1
133
-:echo fi
156
+rem echo fi
134 157
 echo #!/bin/sh
135
-:echo if [ -e /etc/rc3.d/S50playstreamproxy ]; then
158
+rem echo if [ -e /etc/rc3.d/S50playstreamproxy ]; then
136 159
 echo   rm /etc/rc3.d/S50playstreamproxy ^> /dev/null 2^>^&1
137
-:echo fi
138
-:echo if [ -e /usr/bin/playstreamproxyy ]; then
160
+rem echo fi
161
+rem echo if [ -e /usr/bin/playstreamproxyy ]; then
139 162
 echo  rm /usr/bin/playstreamproxy ^> /dev/null 2^>^&1
140
-:echo fi
163
+rem echo fi
141 164
 echo if [ -e /etc/init.d/playstreamproxy ]; then
142 165
 echo   rm /etc/init.d/playstreamproxy ^> /dev/null 2^>^&1
143 166
 echo fi
@@ -147,7 +170,7 @@ dos2unix %ipk_dir%CONTROL\postrm
147 170
 
148 171
 :=== conffiles file ===
149 172
 (
150
-echo %ext_dir2%%prog%/sources/streams.cfg
173
+echo %ext_dir2%%prog%/content/sources/streams.cfg
151 174
 ) >%ipk_dir%CONTROL\conffiles
152 175
 dos2unix %ipk_dir%CONTROL\conffiles
153 176
 
@@ -160,17 +183,20 @@ if exist %release_dir%%pack_name%_%ver%.ipk del %release_dir%%pack_name%_%ver%.i
160 183
 @echo on
161 184
 mv %release_dir%%pack_name%_%ver% %release_dir%%pack_name%_%ver%.ipk
162 185
 
186
+
163 187
 git add %release_dir%%pack_name%_%ver%.ipk
164
-if not ()==(%1%) (
165
-git commit -m %ver%
166
-git tag %ver%
167
-git push
168
-)
169 188
 
170
-copy %release_dir%%pack_name%_%ver%.ipk %feed_dir%%pack_name%_%ver%.ipk
171
-pushd  %feed_dir%
172
-python c:\Python27\Scripts\opkg-make-index . >Packages
173
-dos2unix Packages
174
-gzip -f -k Packages
175
-popd
189
+:=== Commit/push and copy to feed if message given ===
190
+if not ()==(%1%) (
191
+    git commit -m "%1%"
192
+    git tag -d "%ver%"
193
+    git tag "%ver%"
194
+    git push origin master
176 195
 
196
+    copy %release_dir%%pack_name%_%ver%.ipk %feed_dir%%pack_name%_%ver%.ipk
197
+    pushd  %feed_dir%
198
+    python c:\Python27\Scripts\opkg-make-index . >Packages
199
+    dos2unix Packages
200
+    gzip -f -k Packages
201
+    popd
202
+)

BIN
picons/art-default.jpg View File


BIN
picons/back.png View File


BIN
picons/cinemalive.png View File


BIN
picons/euronews.png View File


BIN
picons/filmas.png View File


BIN
picons/filmix.png View File


BIN
picons/filmon.png View File


BIN
picons/folder.png View File


BIN
picons/folder2.png View File


BIN
picons/folder_search.png View File


BIN
picons/icon-default.png View File


BIN
picons/iplayer.png View File


BIN
picons/latvia1.png View File


BIN
picons/latvia7.png View File


BIN
picons/lmt.jpg View File


BIN
picons/lmt.png View File


BIN
picons/lr_1_lv.png View File


BIN
picons/lr_2_lv.png View File


BIN
picons/lr_3_lv.png View File


BIN
picons/movieplace.png View File


BIN
picons/my_archive.png View File


BIN
picons/my_kids.png View File


BIN
picons/my_radio.png View File


BIN
picons/my_tv.png View File


BIN
picons/my_video.png View File


BIN
picons/prefs.png View File


BIN
picons/replay.png View File


BIN
picons/riga24.png View File


BIN
picons/shortcut.png View File


BIN
picons/skaties.png View File


BIN
picons/tvdom.png View File


BIN
picons/tvplay.png View File


BIN
picons/ustvnow.png View File


BIN
picons/viaplay.jpg View File


BIN
picons/viaplay.png View File


BIN
picons/video.png View File


+ 4
- 4
playstreamproxy View File

@@ -1,9 +1,9 @@
1 1
 #!/bin/sh
2
-DAEMON=/usr/lib/enigma2/python/Plugins/Extensions/PlayStream/playstreamproxy.py 
3
-NAME=streamproxy
4
-DESC="StreamProxy"
2
+DAEMON=/usr/lib/enigma2/python/Plugins/Extensions/PlayStream/content/playstreamproxy.py
3
+NAME=playstreamproxy
4
+DESC="PlasyStreamProxy"
5 5
 
6 6
 test -f $DAEMON || exit 0
7 7
 
8 8
 /usr/bin/python $DAEMON $1
9
-exit 0 
9
+exit 0

+ 0
- 1
playstreamproxy.bat View File

@@ -1 +0,0 @@
1
-python playstreamproxy.py manualstart

+ 4
- 4
skin.xml View File

@@ -1,6 +1,6 @@
1 1
 <skin>
2 2
   <screen name="PSMain" position="center,center" size="1015,570" title="Play Stream">
3
-    <eLabel position="5,0" size="1000,2" backgroundColor="unaaaaaa" />
3
+    <eLabel position="5,0" size="1000,2" backgroundColor="#00aaaaaa" />
4 4
     <widget name="title" position="10,2" size="1000,38" font="Regular;30" />
5 5
     <widget source="list" render="Listbox" position="10,55" size="580,470" scrollbarMode="showOnDemand">
6 6
       <convert type="TemplatedMultiContent">
@@ -12,8 +12,8 @@
12 12
     </widget>
13 13
     <widget name="pic" position="646,55" size="327,250" alphatest="on" />
14 14
     <widget name="cur" position="610,300" size="400,250" halign="center" font="Regular;20" />
15
-    <ePixmap name="exit" position="10,540" zPosition="2" size="140,40" pixmap="skin_default/buttons/key_exit.png" transparent="1" alphatest="on" />
16
-    <widget name="key_exit" position="10,535" size="140,40" valign="center" halign="center" zPosition="4" backgroundColor="blue" foregroundColor="white" font="Regular;20" transparent="1" shadowColor="background" shadowOffset="-2,-2" />
15
+    <ePixmap name="exit" position="10,540" zPosition="2" size="140,40" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/PlayStream/key_exit.png" transparent="1" alphatest="on" />
16
+    <widget name="key_exit" position="50,535" size="100,40" valign="center" halign="center" zPosition="4" backgroundColor="blue" foregroundColor="white" font="Regular;20" transparent="1" shadowColor="background" shadowOffset="-2,-2" />
17 17
     <ePixmap name="red" position="150,535" zPosition="2" size="140,40" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />
18 18
     <widget name="key_red" position="150,535" size="140,40" valign="center" halign="center" zPosition="4" foregroundColor="white" font="Regular;20" transparent="1" shadowColor="background" shadowOffset="-2,-2" />
19 19
     <ePixmap name="green" position="290,535" zPosition="2" size="140,40" pixmap="skin_default/buttons/green.png" transparent="1" alphatest="on" />
@@ -22,7 +22,7 @@
22 22
     <widget name="key_yellow" position="430,535" size="140,40" valign="center" halign="center" zPosition="4" foregroundColor="white" font="Regular;20" transparent="1" shadowColor="background" shadowOffset="-2,-2" />
23 23
     <ePixmap name="blue" position="570,535" zPosition="2" size="140,40" pixmap="skin_default/buttons/blue.png" transparent="1" alphatest="on" />
24 24
     <widget name="key_blue" position="570,535" size="140,40" valign="center" halign="center" zPosition="4" foregroundColor="white" font="Regular;20" transparent="1" shadowColor="background" shadowOffset="-2,-2" />
25
-    <ePixmap name="menu" position="750,540" zPosition="2" size="140,40" pixmap="skin_default/buttons/key_menu.png" transparent="1" alphatest="on" />
25
+    <ePixmap name="menu" position="750,540" zPosition="2" size="140,40" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/PlayStream/key_menu.png" transparent="1" alphatest="on" />
26 26
     <widget name="key_menu" position="750,535" size="140,40" valign="center" halign="center" zPosition="4" backgroundColor="blue" foregroundColor="white" font="Regular;20" transparent="1" shadowColor="background" shadowOffset="-2,-2" />
27 27
   </screen>
28 28
   <screen name="PSStreamInfo" position="center,center" size="1015,570" title="Stream information">