source: ipk/source.sh4/swapnetwork_webif/var/swap/extensions/WebInterface/WebScreens.py@ 17841

Last change on this file since 17841 was 14969, checked in by obi, 14 years ago

fix

File size: 13.9 KB
Line 
1from enigma import eServiceReference
2from Screens.Screen import Screen
3from WebComponents.Sources.RequestData import RequestData
4
5class WebScreen(Screen):
6 def __init__(self, session, request):
7 Screen.__init__(self, session)
8 self.stand_alone = True
9 self.request = request
10 self.instance = None
11
12class DummyWebScreen(WebScreen):
13 #use it, if you dont need any source, just to can do a static file with an xml-file
14 def __init__(self, session, request):
15 WebScreen.__init__(self, session, request)
16
17class UpdateWebScreen(WebScreen):
18 def __init__(self, session, request):
19 WebScreen.__init__(self, session, request)
20 from Components.Sources.Clock import Clock
21
22 self["CurrentTime"] = Clock()
23
24class MessageWebScreen(WebScreen):
25 def __init__(self, session, request):
26 WebScreen.__init__(self, session, request)
27 from WebComponents.Sources.Message import Message
28
29 self["Message"] = Message(session, func=Message.PRINT)
30 self["GetAnswer"] = Message(session, func=Message.ANSWER)
31
32class ServiceListReloadWebScreen(WebScreen):
33 def __init__(self, session, request):
34 WebScreen.__init__(self, session, request)
35 from WebComponents.Sources.ServiceListReload import ServiceListReload
36
37 self["ServiceListReload"] = ServiceListReload(session)
38
39class AudioWebScreen(WebScreen):
40 def __init__(self, session, request):
41 WebScreen.__init__(self, session, request)
42 from WebComponents.Sources.AudioTracks import AudioTracks
43
44 self["AudioTracks"] = AudioTracks(session, func=AudioTracks.GET)
45 self["SelectAudioTrack"] = AudioTracks(session, func=AudioTracks.SET)
46
47class AboutWebScreen(WebScreen):
48 def __init__(self, session, request):
49 WebScreen.__init__(self, session, request)
50 from WebComponents.Sources.About import About
51 from WebComponents.Sources.Frontend import Frontend
52 from WebComponents.Sources.Hdd import Hdd
53 from WebComponents.Sources.Network import Network
54 from Components.config import config
55 from Components.About import about
56 from Components.Sources.StaticText import StaticText
57 from Tools.DreamboxHardware import getFPVersion
58 from Tools.HardwareInfo import HardwareInfo
59
60 hw = HardwareInfo()
61
62 self["About"] = About(session)
63
64 self["Network"] = Network()
65 self["Hdd"] = Hdd()
66 self["Frontends"] = Frontend()
67 self["EnigmaVersion"] = StaticText(about.getEnigmaVersionString())
68 self["ImageVersion"] = StaticText(about.getVersionString())
69 self["WebIfVersion"] = StaticText(config.plugins.Webinterface.version.value)
70 self["FpVersion"] = StaticText(str(getFPVersion()))
71 self["DeviceName"] = StaticText(hw.get_device_name())
72
73class VolumeWebScreen(WebScreen):
74 def __init__(self, session, request):
75 WebScreen.__init__(self, session, request)
76
77 from WebComponents.Sources.Volume import Volume
78 self["Volume"] = Volume(session)
79
80class SettingsWebScreen(WebScreen):
81 def __init__(self, session, request):
82 WebScreen.__init__(self, session, request)
83 from WebComponents.Sources.Settings import Settings
84
85 self["Settings"] = Settings(session)
86
87class SubServiceWebScreen(WebScreen):
88 def __init__(self, session, request):
89 WebScreen.__init__(self, session, request)
90 from WebComponents.Sources.SubServices import SubServices
91
92 self["SubServices"] = SubServices(session)
93
94class StreamSubServiceWebScreen(WebScreen):
95 def __init__(self, session, request):
96 WebScreen.__init__(self, session, request)
97 from WebComponents.Sources.SubServices import SubServices
98
99 self["StreamSubServices"] = SubServices(session, streamingScreens)
100
101class ServiceListWebScreen(WebScreen):
102 def __init__(self, session, request):
103 WebScreen.__init__(self, session, request)
104
105 from Components.Sources.ServiceList import ServiceList
106 from Screens.ChannelSelection import service_types_tv
107
108 fav = eServiceReference(service_types_tv + ' FROM BOUQUET "bouquets.tv" ORDER BY bouquet')
109 self["ServiceList"] = ServiceList(fav, command_func=self.getServiceList, validate_commands=False)
110 self["localip"] = RequestData(request, what=RequestData.HOST)
111
112 def getServiceList(self, sRef):
113 self["ServiceList"].root = sRef
114
115class ServiceListRecursiveWebScreen(WebScreen):
116 def __init__(self, session, request):
117 WebScreen.__init__(self, session, request)
118
119 from WebComponents.Sources.ServiceListRecursive import ServiceListRecursive
120 self["ServiceListRecursive"] = ServiceListRecursive(session, func=ServiceListRecursive.FETCH)
121
122class SwitchServiceWebScreen(WebScreen):
123 def __init__(self, session, request):
124 WebScreen.__init__(self, session, request)
125
126 from WebComponents.Sources.SwitchService import SwitchService
127 self["SwitchService"] = SwitchService(session)
128
129class ReadPluginListWebScreen(WebScreen):
130 def __init__(self, session, request):
131 WebScreen.__init__(self, session, request)
132 from WebComponents.Sources.ReadPluginList import ReadPluginList
133 self["ReadPluginList"] = ReadPluginList(session)
134
135class LocationsAndTagsWebScreen(WebScreen):
136 def __init__(self, session, request):
137 WebScreen.__init__(self, session, request)
138 from WebComponents.Sources.LocationsAndTags import LocationsAndTags
139
140 self["CurrentLocation"] = LocationsAndTags(session, LocationsAndTags.CURRLOCATION)
141 self["Locations"] = LocationsAndTags(session, LocationsAndTags.LOCATIONS)
142 self["AddLocation"] = LocationsAndTags(session, LocationsAndTags.ADDLOCATION)
143 self["RemoveLocation"] = LocationsAndTags(session, LocationsAndTags.REMOVELOCATION)
144 self["Tags"] = LocationsAndTags(session, LocationsAndTags.TAGS)
145
146class EpgWebScreen(WebScreen):
147 def __init__(self, session, request):
148 WebScreen.__init__(self, session, request)
149 from WebComponents.Sources.EPG import EPG
150
151 self["EpgSearch"] = EPG(session, func=EPG.SEARCH)
152 self["EpgSearchSimilar"] = EPG(session, func=EPG.SEARCHSIMILAR)
153 self["EpgService"] = EPG(session, func=EPG.SERVICE)
154 self["EpgBouquetNow"] = EPG(session, func=EPG.BOUQUETNOW)
155 self["EpgBouquetNext"] = EPG(session, func=EPG.BOUQUETNEXT)
156 self["EpgServiceNow"] = EPG(session, func=EPG.SERVICENOW)
157 self["EpgServiceNext"] = EPG(session, func=EPG.SERVICENEXT)
158 self["EpgBouquet"] = EPG(session, func=EPG.BOUQUET)
159 self["localip"] = RequestData(request, what=RequestData.HOST)
160
161 self["EpgServiceWap"] = EPG(session, func=EPG.SERVICE, endtm=True)
162
163 def getServiceList(self, sRef):
164 self["ServiceList"].root = sRef
165
166class MovieWebScreen(WebScreen):
167 def __init__(self, session, request):
168 WebScreen.__init__(self, session, request)
169 from Components.MovieList import MovieList
170 from Tools.Directories import resolveFilename, SCOPE_HDD
171 from WebComponents.Sources.Movie import Movie
172
173 movielist = MovieList(eServiceReference("2:0:1:0:0:0:0:0:0:0:" + resolveFilename(SCOPE_HDD)))
174 self["MovieList"] = Movie(session, movielist, func=Movie.LIST)
175 self["MovieFileDel"] = Movie(session, movielist, func=Movie.DEL)
176 self["localip"] = RequestData(request, what=RequestData.HOST)
177
178class AutoTimerWebScreen(WebScreen):
179 def __init__(self, session, request):
180 WebScreen.__init__(self, session, request)
181 from WebComponents.Sources.AT import AT
182
183 self["AutoTimerList"] = AT(session, func=AT.LIST)
184 self["AutoTimerWrite"] = AT(session, func=AT.WRITE)
185
186class TimerWebScreen(WebScreen):
187 def __init__(self, session, request):
188 WebScreen.__init__(self, session, request)
189 from WebComponents.Sources.Timer import Timer
190
191 self["TimerList"] = Timer(session, func=Timer.LIST)
192 self["TimerAddEventID"] = Timer(session, func=Timer.ADDBYID)
193 self["TimerAdd"] = Timer(session, func=Timer.ADD)
194 self["TimerDel"] = Timer(session, func=Timer.DEL)
195 self["TimerChange"] = Timer(session, func=Timer.CHANGE)
196 self["TimerListWrite"] = Timer(session, func=Timer.WRITE)
197 self["TVBrowser"] = Timer(session, func=Timer.TVBROWSER)
198 self["RecordNow"] = Timer(session, func=Timer.RECNOW)
199 self["TimerCleanup"] = Timer(session, func=Timer.CLEANUP)
200
201class RemoteWebScreen(WebScreen):
202 def __init__(self, session, request):
203 WebScreen.__init__(self, session, request)
204 from WebComponents.Sources.RemoteControl import RemoteControl
205
206 self["RemoteControl"] = RemoteControl(session)
207
208class PowerWebScreen(WebScreen):
209 def __init__(self, session, request):
210 WebScreen.__init__(self, session, request)
211 from WebComponents.Sources.PowerState import PowerState
212
213 self["PowerState"] = PowerState(session)
214
215class ParentControlWebScreen(WebScreen):
216 def __init__(self, session, request):
217 WebScreen.__init__(self, session, request)
218 from WebComponents.Sources.ParentControl import ParentControl
219
220 self["ParentControlList"] = ParentControl(session)
221
222class WapWebScreen(WebScreen):
223 def __init__(self, session, request):
224 WebScreen.__init__(self, session, request)
225 from WebComponents.Sources.WAPfunctions import WAPfunctions
226
227 self["WAPFillOptionListYear"] = WAPfunctions(session, func=WAPfunctions.LISTTIME)
228 self["WAPFillOptionListDay"] = WAPfunctions(session, func=WAPfunctions.LISTTIME)
229 self["WAPFillOptionListMonth"] = WAPfunctions(session, func=WAPfunctions.LISTTIME)
230 self["WAPFillOptionListShour"] = WAPfunctions(session, func=WAPfunctions.LISTTIME)
231 self["WAPFillOptionListSmin"] = WAPfunctions(session, func=WAPfunctions.LISTTIME)
232 self["WAPFillOptionListEhour"] = WAPfunctions(session, func=WAPfunctions.LISTTIME)
233 self["WAPFillOptionListEmin"] = WAPfunctions(session, func=WAPfunctions.LISTTIME)
234
235 self["WAPFillOptionListRecord"] = WAPfunctions(session, func=WAPfunctions.OPTIONLIST)
236 self["WAPFillOptionListAfterEvent"] = WAPfunctions(session, func=WAPfunctions.OPTIONLIST)
237
238 self["WAPFillValueName"] = WAPfunctions(session, func=WAPfunctions.FILLVALUE)
239 self["WAPFillValueDescr"] = WAPfunctions(session, func=WAPfunctions.FILLVALUE)
240 self["WAPFillLocation"] = WAPfunctions(session, func=WAPfunctions.LOCATIONLIST)
241 self["WAPFillTags"] = WAPfunctions(session, func=WAPfunctions.TAGLIST)
242
243 self["WAPFillOptionListRepeated"] = WAPfunctions(session, func=WAPfunctions.REPEATED)
244 self["WAPServiceList"] = WAPfunctions(session, func=WAPfunctions.SERVICELIST)
245
246 self["WAPdeleteOldOnSave"] = WAPfunctions(session, func=WAPfunctions.DELETEOLD)
247
248streamingScreens = []
249
250class StreamingWebScreen(WebScreen):
251 def __init__(self, session, request):
252 WebScreen.__init__(self, session, request)
253 from Components.Sources.StreamService import StreamService
254 self["StreamService"] = StreamService(self.session.nav)
255 streamingScreens.append(self)
256 self.screenIndex = len(streamingScreens) - 1
257
258 def getRecordService(self):
259 if self.has_key("StreamService"):
260 return self["StreamService"].getService()
261 return None
262
263 def getRecordServiceRef(self):
264 if self.has_key("StreamService"):
265 return self["StreamService"].ref
266 return None
267
268class M3uStreamingWebScreen(WebScreen):
269 def __init__(self, session, request):
270 WebScreen.__init__(self, session, request)
271 from Components.Sources.StaticText import StaticText
272 from Components.Sources.Config import Config
273 from Components.config import config
274 self["ref"] = StaticText()
275 self["localip"] = RequestData(request, what=RequestData.HOST)
276
277class M3uStreamingCurrentServiceWebScreen(WebScreen):
278 def __init__(self, session, request):
279 WebScreen.__init__(self, session, request)
280 from WebComponents.Sources.CurrentService import CurrentService
281
282 self["CurrentService"] = CurrentService(session)
283 self["localip"] = RequestData(request, what=RequestData.HOST)
284
285class TsM3uWebScreen(WebScreen):
286 def __init__(self, session, request):
287 WebScreen.__init__(self, session, request)
288 from Components.Sources.StaticText import StaticText
289 from Components.Sources.Config import Config
290 from Components.config import config
291 self["file"] = StaticText()
292 self["localip"] = RequestData(request, what=RequestData.HOST)
293 self["localport"] = RequestData(request, what=RequestData.PORT)
294
295class RestartWebScreen(WebScreen):
296 def __init__(self, session, request):
297 WebScreen.__init__(self, session, request)
298 import plugin
299 plugin.restartWebserver(session)
300
301class GetPidWebScreen(WebScreen):
302 def __init__(self, session, request):
303 WebScreen.__init__(self, session, request)
304 from Components.Sources.StaticText import StaticText
305 from enigma import iServiceInformation
306 pids = self.session.nav.getCurrentService()
307 if pids is not None:
308 pidinfo = pids.info()
309 VPID = hex(pidinfo.getInfo(iServiceInformation.sVideoPID))
310 APID = hex(pidinfo.getInfo(iServiceInformation.sAudioPID))
311 PPID = hex(pidinfo.getInfo(iServiceInformation.sPMTPID))
312 self["pids"] = StaticText("%s,%s,%s" % (PPID.lstrip("0x"), VPID.lstrip("0x"), APID.lstrip("0x")))
313 else:
314 self["pids"] = StaticText("0x,0x,0x")
315
316 self["localip"] = RequestData(request, what=RequestData.HOST)
317
318class DeviceInfoWebScreen(WebScreen):
319 def __init__(self, session, request):
320 WebScreen.__init__(self, session, request)
321 from WebComponents.Sources.Network import Network
322 from WebComponents.Sources.Hdd import *
323 from WebComponents.Sources.Frontend import Frontend
324 from Components.config import config
325 from Components.About import about
326 from Components.Sources.StaticText import StaticText
327 from Tools.DreamboxHardware import getFPVersion
328 from Tools.HardwareInfo import HardwareInfo
329
330 hw = HardwareInfo()
331
332 self["Network"] = Network()
333 self["Hdd"] = Hdd()
334 self["Frontends"] = Frontend()
335 self["EnigmaVersion"] = StaticText(about.getEnigmaVersionString())
336 self["ImageVersion"] = StaticText(about.getVersionString())
337 self["WebIfVersion"] = StaticText(config.plugins.Webinterface.version.value)
338 self["FpVersion"] = StaticText(str(getFPVersion()))
339 self["DeviceName"] = StaticText(hw.get_device_name())
340 self["recPath"] = StaticText(hdd.getRecPath())
341 self["recCapacity"] = StaticText(hdd.getRecCapacity())
342 self["recFree"] = StaticText(hdd.getRecFree())
343
344class ServicePlayableWebScreen(WebScreen):
345 def __init__(self, session, request):
346 WebScreen.__init__(self, session, request)
347 from WebComponents.Sources.ServicePlayable import ServicePlayable
348
349 self["ServicePlayable"] = ServicePlayable(session, type=ServicePlayable.SINGLE)
350
351class ServiceListPlayableWebScreen(WebScreen):
352 def __init__(self, session, request):
353 WebScreen.__init__(self, session, request)
354 from WebComponents.Sources.ServicePlayable import ServicePlayable
355
356 self["ServiceListPlayable"] = ServicePlayable(session, type=ServicePlayable.BOUQUET)
357
Note: See TracBrowser for help on using the repository browser.