[vdrpylib-cvslog] vdrpylib/vdr svdrp.py,1.5,1.6
Status: Alpha
Brought to you by:
rshortt
From: Rob S. <rs...@us...> - 2004-11-25 17:24:20
|
Update of /cvsroot/vdrpylib/vdrpylib/vdr In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14367 Modified Files: svdrp.py Log Message: Changes and improvements from Thomas Weber. Index: svdrp.py =================================================================== RCS file: /cvsroot/vdrpylib/vdrpylib/vdr/svdrp.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** svdrp.py 24 Nov 2004 17:18:27 -0000 1.5 --- svdrp.py 25 Nov 2004 17:24:11 -0000 1.6 *************** *** 86,90 **** self.close() ! def open(self, host = None, port = SVDRP_PORT): """Connect to a host. --- 86,90 ---- self.close() ! def open(self, host = None, port = SVDRP_PORT): """Connect to a host. *************** *** 96,111 **** """ #print 'RLS: in open 1' ! if not host and not self.host: ! return ! if self.get_socket(): ! return ! if host: ! #print 'RLS: in open 2' ! telnetlib.Telnet.open(self, host, port) ! else: ! #print 'RLS: in open 3' ! telnetlib.Telnet.open(self, self.host, self.port) #time.sleep(0.2) --- 96,111 ---- """ #print 'RLS: in open 1' ! if not host and not self.host: ! return ! if self.get_socket(): ! return ! if host: ! #print 'RLS: in open 2' ! telnetlib.Telnet.open(self, host, port) ! else: ! #print 'RLS: in open 3' ! telnetlib.Telnet.open(self, self.host, self.port) #time.sleep(0.2) *************** *** 121,129 **** def close(self): ! self.write('quit\n') ! reply = self.read_reply() ! #time.sleep(0.2) telnetlib.Telnet.close(self) ! return reply --- 121,132 ---- def close(self): ! try: ! self.write('quit\n') ! except: ! return ! ! self.read_all() telnetlib.Telnet.close(self) ! return *************** *** 139,154 **** text and a terminating newline. """ ! pat = re.compile('^\d\d\d .*\n', re.M) ! #reply = '' ! reply = self.read_very_eager() ! #print 'RLS: initial reply "%s"' % reply ! while not pat.search(reply): ! buffer = self.read_very_eager() ! reply = reply + buffer ! #print 'RLS: reply now "%s"' % reply ! #time.sleep(0.2) ! #buffer = self.read_very_eager() ! #print 'RLS: reading reply got "%s"' % buffer ! #reply = reply + buffer return reply --- 142,168 ---- text and a terminating newline. """ ! pat = re.compile('^\d\d\d ', re.M) ! reply = '' ! try: ! reply = self.read_some() ! except: ! # connection lost ! print "error 1 reading reply, connection lost" ! return reply ! x=reply[:-1].rfind('\n') ! if x==-1: ! x=0 ! while not pat.search(reply[x:]): ! try: ! buffer = self.read_some() ! reply = reply + buffer ! x=reply[:-1].rfind('\n') ! if x==-1: ! x=0 ! except: ! # connection closed ! print "error 2 reading reply, connection lost" ! return reply ! reply+=self.read_very_eager() return reply *************** *** 166,185 **** if len(cmd) == 0: return '' ! ! self.open() if cmd[-1] != '\n': cmd = cmd + '\n' ! self.read_very_eager() self.write(cmd) #time.sleep(0.2) ! reply = self.read_reply() ! if close > 0: ! self.close() #print 'RLS: want to close %d' % close ! elif close == -1 and self.close_connection: #print 'RLS: want to close %d' % close ! self.close() return reply --- 180,201 ---- if len(cmd) == 0: return '' ! ! self.open() if cmd[-1] != '\n': cmd = cmd + '\n' ! #print "cmd: #%s# " %(cmd) ! self.read_eager() self.write(cmd) #time.sleep(0.2) ! reply = self.read_reply() ! #print "X: "+reply ! if close > 0: ! self.close() #print 'RLS: want to close %d' % close ! elif close == -1 and self.close_connection: #print 'RLS: want to close %d' % close ! self.close() return reply *************** *** 234,238 **** Return the currently tuned channel. """ ! return self.write_cmd('chan\n') --- 250,264 ---- Return the currently tuned channel. """ ! result=self.write_cmd('chan\n') ! channel="" ! if result[0:3] == '250': ! try: ! channel=result.split(None, 2)[1] ! except: ! channel="" ! print "Current_chan="+channel ! else: ! print "result='"+result+"'" ! return channel *************** *** 258,277 **** return None ! if id is None: ! # return recording summary ! return result[4:] ! else: ! # create Channel objects from output ! channels = {} ! counter = 1 ! for line in result.split('\n'): ! if len(line) > 5: ! tokens = line.strip()[4:].split(None, 1) ! if len(tokens) > 1: c = channel.Channel(tokens[-1], counter) ! channels[c.sid] = c counter = counter + 1 ! return channels --- 284,302 ---- return None ! # create Channel objects from output ! channels = [] ! counter = 1 ! for line in result.split('\n'): ! if len(line) > 5: ! tokens = line.strip()[4:].split(None, 1) ! if len(tokens) > 1: ! try: c = channel.Channel(tokens[-1], counter) ! channels.append(c) counter = counter + 1 + except: + print "Error parsing channel "+line ! return channels |