Advertisement
Guest User

Untitled

a guest
Apr 14th, 2011
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # Autorecord favorite VDR programs via SVDRP.
  4. # Copyright (C) Kenneth Falck 2011.
  5. # Distribution allowed under the Simplified BSD License.
  6. import telnetlib
  7. from datetime import datetime, timedelta
  8. import re
  9. import sys
  10.  
  11. # VDR server
  12. VDR_HOST = '127.0.0.1'
  13. VDR_PORT = 6419
  14.  
  15. class SVDRPClient(object):
  16. def __init__(self, host, port):
  17. self.telnet = telnetlib.Telnet()
  18. self.telnet.open(host, port)
  19. self.read_response()
  20.  
  21. def close(self):
  22. self.telnet.close()
  23.  
  24. def send_command(self, line):
  25. #print '>>>', line
  26. self.telnet.write(line + '\r\n')
  27.  
  28. def read_line(self):
  29. line = self.telnet.read_until('\n', 10).replace('\n', '').replace('\r', '')
  30. #print '<<<', line
  31. if len(line) < 4: return None
  32. return int(line[0:3]), line[3] == '-', line[4:]
  33.  
  34. def read_response(self):
  35. response = []
  36. line = self.read_line()
  37. if line: response.append(line)
  38. while line and line[1]:
  39. line = self.read_line()
  40. if line: response.append(line)
  41. return response
  42.  
  43. def confirm_shutdown(self):
  44. self.send_command('PLUG shutdown CONF')
  45. line = self.read_response()
  46. num, dummy, message = line[0]
  47. return int(num), message
  48.  
  49. client = SVDRPClient(VDR_HOST, VDR_PORT)
  50. num, message = client.confirm_shutdown()
  51. print num, message
  52. client.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement