PluginList.py PluginComponent.py RecordingConfig.py About.py UsageConfig.py \
FIFOList.py ServiceEventTracker.py Input.py TimerSanityCheck.py FileList.py \
MultiContent.py MediaPlayer.py TunerInfo.py VideoWindow.py ChoiceList.py \
- Element.py
+ Element.py Playlist.py
--- /dev/null
+from ServiceReference import ServiceReference
+
+class PlaylistIO:
+ def __init__(self):
+ self.list = []
+
+ # returns a list of services or None if filename is not a valid playlist
+ def open(self, filename):
+ return None
+
+ OK = 0
+ FILEEXISTS = 1
+ WRITEERROR = 2
+ ERROR = 3
+ UNSUPPORTED_FILES_IN_PLAYLIST = 4
+
+ def save(self, filename = None):
+ return self.ERROR
+
+ def clear(self):
+ del self.list[:]
+
+ def addService(self, service):
+ self.list.append(service)
+
+
+class PlaylistIOInternal(PlaylistIO):
+ def __init__(self):
+ PlaylistIO.__init__(self)
+
+ def open(self, filename):
+ self.clear()
+ try:
+ file = open(filename, "r")
+ except IOError:
+ return None
+ while True:
+ entry = file.readline().strip()
+ if entry == "":
+ break
+ self.addService(ServiceReference(entry))
+ file.close()
+ return self.list
+
+ def save(self, filename = None):
+ print "Writing playlist into file", filename
+ file = open(filename, "w")
+ for x in self.list:
+ file.write(str(x) + "\n")
+ file.close()
+
+ return self.OK
\ No newline at end of file
"InputDevice", "ServicePosition", "IPAddress", "VariableIP", "IPGateway",
"IPNameserver", "Network", "RFmon", "DiskInfo", "NimManager", "TimerEntry",
"Lcd", "EpgList" "ScrollLabel", "Timezones", "HelpMenuList", "TimerSanityCheck",
- "FileList", "MultiContent", "TunerInfo", "ChoiceList" ]
+ "FileList", "MultiContent", "TunerInfo", "ChoiceList", "Playlist" ]