From: Guillaume Pellerin Date: Fri, 10 Jan 2014 14:49:33 +0000 (+0100) Subject: mv status obj X-Git-Tag: 0.9~12^2~3 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=f3900ad1ef9cb32c92ff656d154dfc53f01d6be6;p=telecaster-client.git mv status obj --- diff --git a/telecaster/models.py b/telecaster/models.py index dcea59c..ce5bb32 100644 --- a/telecaster/models.py +++ b/telecaster/models.py @@ -68,7 +68,6 @@ class ShortTextField(models.TextField): ) return super(ShortTextField, self).formfield(**kwargs) - add_introspection_rules([], ["^telecaster\.models\.ShortTextField"]) diff --git a/telecaster/static/telecaster/js/application.js b/telecaster/static/telecaster/js/application.js index b761b37..8a71ebf 100644 --- a/telecaster/static/telecaster/js/application.js +++ b/telecaster/static/telecaster/js/application.js @@ -211,8 +211,6 @@ var playlistUtils = { var o = 'organization'; var d = 'department'; - var d = 'department'; - var dd = {}; var playlist = this; diff --git a/telecaster/tools/status.py b/telecaster/tools/status.py index 32e9786..d89c1dd 100644 --- a/telecaster/tools/status.py +++ b/telecaster/tools/status.py @@ -35,85 +35,5 @@ # Author: Guillaume Pellerin """ -import os -from telecaster.tools import * -from django.conf import settings -class Status(object): - interfaces = ['eth0', 'eth1', 'eth2', 'eth0-eth2', 'eth3', 'eth4', 'eth5', - 'wlan0', 'wlan1', 'wlan2', 'wlan3', 'wlan4'] - acpi_states = {0: 'battery', 1: 'battery', 2: 'AC'} - - def __init__(self): - self.acpi = acpi.Acpi() - self.uid = os.getuid() - self.user = pwd.getpwuid(os.getuid())[0] - self.cache = settings.MEDIA_ROOT + 'cache/' - self.monitoring_conf_dir = '/etc/telecaster/deefuzzer/' - self.mp3_monitoring_conf = self.monitoring_conf_dir + 'telecaster_mp3_monitor.yaml' - self.webm_monitoring_conf = self.monitoring_conf_dir + 'telecaster_webm_monitor.yaml' - self.mp3_streaming_conf = self.cache + 'station_mp3.xml' - self.webm_streaming_conf = self.cache + 'station_webm.xml' - - def update(self): - self.acpi.update() - try: - self.temperature = self.acpi.temperature(0) - except: - self.temperature = 'N/A' - self.get_ids() - self.get_hosts() - - def to_dict(self): - status = [ - {'id': 'name', 'class': 'default', 'value': self.name, 'label': 'Name'}, - {'id': 'ip', 'class': 'default', 'value': self.ip, 'label': 'IP address'}, - {'id': 'acpi_state','class': 'default', 'value': 'AC', 'label': 'Power'}, - {'id': 'acpi_percent', 'class': 'default', 'value': str(self.acpi.percent()), 'label': 'Charge (%)'}, - {'id': 'temperature', 'class': 'default', 'value': self.temperature, 'label': 'Temperature'}, - {'id': 'jackd', 'class': 'default', 'value': self.jacking, 'label': 'Jack server'}, - {'id': 'audio_encoding','class': 'default', - 'value': self.audio_encoding, 'label': 'Audio encoding'}, - {'id': 'video_encoding','class': 'default', - 'value': self.video_encoding, 'label': 'Video encoding'}, - {'id': 'audio_monitoring', 'class': 'default', - 'value': self.audio_monitoring, 'label': 'Audio monitoring'}, - {'id': 'video_monitoring', 'class': 'default', - 'value': self.video_monitoring, 'label': 'Video monitoring'}, - {'id': 'audio_streaming', 'class': 'default', - 'value': self.audio_streaming, 'label': 'Audio streaming'}, - {'id': 'video_streaming', 'class': 'default', - 'value': self.video_streaming, 'label': 'Video streaming'}, - ] - - for stat in status: - if stat['value'] == False or stat['value'] == 'localhost' or stat['value'] == 'battery': - stat['class'] = 'warning' - - return status - - def get_hosts(self): - ip = '' - for interface in self.interfaces: - try: - ip = get_ip_address(interface) - if ip: - self.ip = ip - break - except: - self.ip = '127.0.0.1' - self.url = 'http://' + self.ip - self.name = get_hostname() - - def get_ids(self): - self.jacking = get_pid('jackd', args=False) != None - - self.audio_encoding = get_pid('gst-launch-0.10', args='lamemp3enc') != None - self.video_encoding = get_pid('gst-launch-0.10', args='vp8enc') != None - - self.audio_monitoring = get_pid('deefuzzer', args=self.mp3_monitoring_conf) != None - self.video_monitoring = get_pid('deefuzzer', args=self.webm_monitoring_conf) != None - - self.audio_streaming = get_pid('deefuzzer', args=self.mp3_streaming_conf) != None - self.video_streaming = get_pid('deefuzzer', args=self.webm_streaming_conf) != None diff --git a/telecaster/views.py b/telecaster/views.py index d41cef5..c3ed741 100644 --- a/telecaster/views.py +++ b/telecaster/views.py @@ -10,6 +10,7 @@ from models import * from forms import* from jsonrpc import jsonrpc_method +from jsonrpc.proxy import ServiceProxy from django.utils.decorators import method_decorator from django.contrib.auth import authenticate, login @@ -41,8 +42,91 @@ def get_host(request): host = host.split(':')[0] return host + status = Status() + +class Status(object): + + interfaces = ['eth0', 'eth1', 'eth2', 'eth0-eth2', 'eth3', 'eth4', 'eth5', + 'wlan0', 'wlan1', 'wlan2', 'wlan3', 'wlan4'] + + acpi_states = {0: 'battery', 1: 'battery', 2: 'AC'} + + def __init__(self): + self.acpi = acpi.Acpi() + self.uid = os.getuid() + self.user = pwd.getpwuid(os.getuid())[0] + self.cache = settings.MEDIA_ROOT + 'cache/' + self.monitoring_conf_dir = '/etc/telecaster/deefuzzer/' + self.mp3_monitoring_conf = self.monitoring_conf_dir + 'telecaster_mp3_monitor.yaml' + self.webm_monitoring_conf = self.monitoring_conf_dir + 'telecaster_webm_monitor.yaml' + self.mp3_streaming_conf = self.cache + 'station_mp3.xml' + self.webm_streaming_conf = self.cache + 'station_webm.xml' + + def update(self): + self.acpi.update() + try: + self.temperature = self.acpi.temperature(0) + except: + self.temperature = 'N/A' + self.get_pids() + self.get_hosts() + + def to_dict(self): + status = [ + {'id': 'name', 'class': 'default', 'value': self.name, 'label': 'Name'}, + {'id': 'ip', 'class': 'default', 'value': self.ip, 'label': 'IP address'}, + {'id': 'acpi_state','class': 'default', 'value': 'AC', 'label': 'Power'}, + {'id': 'acpi_percent', 'class': 'default', 'value': str(self.acpi.percent()), 'label': 'Charge (%)'}, + {'id': 'temperature', 'class': 'default', 'value': self.temperature, 'label': 'Temperature'}, + {'id': 'jackd', 'class': 'default', 'value': self.jacking, 'label': 'Jack server'}, + {'id': 'audio_encoding','class': 'default', + 'value': self.audio_encoding, 'label': 'Audio encoding'}, + {'id': 'video_encoding','class': 'default', + 'value': self.video_encoding, 'label': 'Video encoding'}, + {'id': 'audio_monitoring', 'class': 'default', + 'value': self.audio_monitoring, 'label': 'Audio monitoring'}, + {'id': 'video_monitoring', 'class': 'default', + 'value': self.video_monitoring, 'label': 'Video monitoring'}, + {'id': 'audio_streaming', 'class': 'default', + 'value': self.audio_streaming, 'label': 'Audio streaming'}, + {'id': 'video_streaming', 'class': 'default', + 'value': self.video_streaming, 'label': 'Video streaming'}, + ] + + for stat in status: + if stat['value'] == False or stat['value'] == 'localhost' or stat['value'] == 'battery': + stat['class'] = 'warning' + + return status + + def get_hosts(self): + ip = '' + for interface in self.interfaces: + try: + ip = get_ip_address(interface) + if ip: + self.ip = ip + break + except: + self.ip = '127.0.0.1' + self.url = 'http://' + self.ip + self.name = get_hostname() + + def get_pids(self): + self.jacking = get_pid('jackd', args=False) != None + + self.audio_encoding = get_pid('gst-launch-0.10', args='lamemp3enc') != None + self.video_encoding = get_pid('gst-launch-0.10', args='vp8enc') != None + + self.audio_monitoring = get_pid('deefuzzer', args=self.mp3_monitoring_conf) != None + self.video_monitoring = get_pid('deefuzzer', args=self.webm_monitoring_conf) != None + + self.audio_streaming = get_pid('deefuzzer', args=self.mp3_streaming_conf) != None + self.video_streaming = get_pid('deefuzzer', args=self.webm_streaming_conf) != None + + class StatusView(object): @jsonrpc_method('telecaster.get_server_status') @@ -66,3 +150,4 @@ class StatusView(object): @jsonrpc_method('telecaster.stop') def stop(request): pass +