Created on Sep 3, 2011 @author: Michael Eiler ''' from VDRPersistence import RestfulAPI, VDRRecording, VDRMark p = RestfulAPI("127.0.0.1", "8002") marks = [] marks.append(VDRMark("0:05:17.15")) marks.append(VDRMark("0:34:08.24")) p.saveMarks(0, marks) for rec in p.getRecordings(): if type(rec) is VDRRecording: for mark in p.getMarks(rec.RecordingId): if type(mark) is VDRMark: print mark.toString() p.deleteMarks(0) print p.isCutterActive()
class SelectionView(xbmcgui.WindowXMLDialog): def __init__(self, *args, **kwargs): xbmcgui.WindowXMLDialog.__init__(self, *args, **kwargs) Addon = sys.modules['__main__'].Addon self.Settings = Addon.getSetting self.Strings = Addon.getLocalizedString def onInit(self): self.action_exitkeys_id = [10, 13] self.bEdit = self.getControl(3000) self.bCut = self.getControl(3001) self.lTitle = self.getControl(3005) self.lStatus = self.getControl(3021) self.lDebug = self.getControl(3020) self.bEdit.setLabel(self.Strings(3108)) self.bCut.setLabel(self.Strings(3109)) self.lTitle.setLabel(self.Strings(3110)) self.Recording = None self.lRecordings = self.getControl(3002) self.RestfulAPI = RestfulAPI("127.0.0.1", 8002) self.Recordings = self.RestfulAPI.getRecordings() self.Recordings = sorted(self.Recordings, cmp=VDRRecording.compare) self.updateCutterStatus() for rec in self.Recordings: self.lRecordings.addItem(rec.Name) def onAction(self, action): if action in self.action_exitkeys_id: self.Mode = False self.close() def onClick(self, controlId): if controlId == 3002: Control.SetFocus(3000, 0) if controlId == 3000: pos = self.lRecordings.getSelectedPosition() self.Recording = self.Recordings[pos] self.close() if controlId == 3001: self.cutRecording() self.lStatus.setLabel("VDR Cutter Status: Active") def __getRecording(self): return self.__recording def __setRecording(self, recording): self.__recording = recording def onFocus(self, controlId): pass def cutRecording(self): pos = self.lRecordings.getSelectedPosition() self.RestfulAPI.refreshRecording(self.Recordings[pos]) #update ID if it has changed (recording ID's are dynamic) rec = self.Recordings[pos].RecordingId self.RestfulAPI.cutRecording(rec) def updateCutterStatus(self): status = "VDR Cutter Status: " if self.RestfulAPI.isCutterActive(): status += "Active" else: status += "Inactive" self.lStatus.setLabel(status) Recording = property(__getRecording, __setRecording)