Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/python
- import json
- import urllib2
- import time
- import os
- import string
- import subprocess
- import re
- def check_chan():
- url=urllib2.urlopen("http://ip:9981/api/status/subscriptions")
- json_string=url.read()
- data = json.loads(json_string)
- entries = data['entries']
- if entries:
- for entry in entries:
- if entry['state']!="Running":
- #if entry['service']=="virbr1/239.0.0.2":
- if entry.get('channel'):
- print "Requesting "+entry['channel']
- print entry['state']
- #if entry['state']=="Testing":
- if entry['channel'] == "TN":
- start_chan("tn")
- elif entry['channel'] == "C5N":
- start_chan("c5n")
- elif entry['channel'] == "El Trece":
- start_chan("canal13")
- elif entry['channel'] == "360TV":
- start_chan("360tv")
- elif entry['channel'] == "La100":
- start_chan("la100")
- elif entry['channel'] == "TV Publica":
- start_chan("tvpublica")
- elif entry['channel'] == "DeporTV":
- start_chan("deportv")
- elif entry['channel'] == "Fox Sports":
- start_chan("foxsports")
- elif entry['channel'] == "MitreHD":
- start_chan("mitrehd")
- elif entry['channel'] == "ESPN+ LA":
- start_chan("espnmas")
- elif entry['channel'] == "LaRed":
- start_chan("lared")
- elif entry['channel'] == "Radio Mitre":
- start_chan("radiomitre")
- elif entry['channel'] == "Telefe":
- start_chan("telefe")
- elif entry['channel'] == "Canal9":
- print "Start Canal9"
- start_chan("canal9")
- elif entry['channel'] == "TyC Sports":
- start_chan("tycsports")
- elif entry['channel'] == "ESPN LA":
- start_chan("espn")
- elif entry['channel'] == "America":
- start_chan("america2")
- def start_chan(chan):
- if os.path.isfile('/var/lock/'+chan):
- print chan+' is starting'
- else:
- os.popen('service '+chan+' start')
- os.popen('touch /var/lock/'+chan)
- #time.sleep(1)
- def stop_chan(chan):
- if os.path.isfile('/var/lock/'+chan):
- os.popen('service '+chan+' stop &')
- os.popen('rm -f /var/lock/'+chan)
- def garbage_collect():
- process = subprocess.Popen("ps ax | grep 239.0.0.2| grep -v grep | awk -F\"239.0.0.2:\" '{print $2}' | awk -F\? '{print $1}' | grep -v print",
- shell=True,
- stdout=subprocess.PIPE,
- )
- stdout_list = process.communicate()[0]
- for line in stdout_list.split('\n'):
- port = line
- channelname="test"
- found="NO"
- service="test"
- if port:
- if port == "1234":
- del channelname
- channelname="TN"
- elif port == "1736":
- del channelname
- channelname="C5N"
- elif port == "3360":
- del channelname
- channelname="360TV"
- elif port == "2334":
- del channelname
- channelname="La100"
- elif port == "1910":
- del channelname
- channelname="LaRed"
- elif port == "1235":
- del channelname
- channelname="El Trece"
- elif port == "1238":
- del channelname
- channelname="TV Publica"
- elif port == "3006":
- del channelname
- channelname="DeporTV"
- elif port == "3005":
- del channelname
- channelname="ESPN+ LA"
- elif port == "1239":
- del channelname
- channelname="Fox Sports"
- elif port == "1635":
- del channelname
- channelname="MitreHD"
- elif port == "2234":
- del channelname
- channelname="Radio Mitre"
- elif port == "1241":
- del channelname
- channelname="Telefe"
- elif port == "1260":
- del channelname
- channelname="Canal9"
- elif port == "3000":
- del channelname
- channelname="ESPN LA"
- elif port == "1240":
- del channelname
- channelname="TyC Sports"
- elif port == "1222":
- del channelname
- channelname="America"
- #print channelname+" esta ejecutandose"
- url=urllib2.urlopen("http://192.168.0.9:9981/api/status/subscriptions")
- json_string=url.read()
- data = json.loads(json_string)
- entries = data['entries']
- if entries:
- for entry in entries:
- #print "Evaluando "+entry['channel']
- #print entry
- if entry.get('channel'):
- if entry['channel']==channelname:
- found="SI"
- #print "pero "+channelname+" se esta mirando actualmente "+entry['channel']
- #else:
- #if channelname != "test":
- #print channelname+" no se esta mirando"
- if channelname == "TN":
- service="tn"
- elif channelname == "El Trece":
- service="canal13"
- elif channelname == "360TV":
- service="360tv"
- elif channelname == "C5N":
- service="c5n"
- elif channelname == "TV Publica":
- service="tvpublica"
- elif channelname == "Fox Sports":
- service="foxsports"
- elif channelname == "MitreHD":
- service="mitrehd"
- elif channelname == "Radio Mitre":
- service="radiomitre"
- elif channelname == "Telefe":
- service="telefe"
- elif channelname == "Canal9":
- service="canal9"
- elif channelname == "LaRed":
- service="lared"
- elif channelname == "La100":
- service="la100"
- elif channelname == "DeporTV":
- service="deportv"
- elif channelname == "ESPN+ LA":
- service="espnmas"
- elif channelname == "ESPN LA":
- service="espn"
- elif channelname == "TyC Sports":
- service="tycsports"
- elif channelname == "America":
- service="america2"
- if found !="SI":
- if service != "test":
- #print "service "+service+" stop"
- stop_chan(service)
- def main():
- while True:
- garbage_collect()
- check_chan()
- time.sleep(1)
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement