]> git.parisson.com Git - telecaster-server.git/commitdiff
Added HTTP request to refresh part of documents only
authorriccardo <riccardo@parisson.com>
Tue, 5 Jul 2011 16:04:48 +0000 (18:04 +0200)
committerriccardo <riccardo@parisson.com>
Tue, 5 Jul 2011 16:04:48 +0000 (18:04 +0200)
example/settings.py
telecaster/htdocs/css/telecaster.css
telecaster/models.py
telecaster/templates/telecaster/base.html
telecaster/templates/telecaster/stop.html
telecaster/tools/tools.py

index 3eec48916fe830323de3f02619ac17aa07e90fb8..633f19696e99c12d9ea1a7ebd123e3f71892bc37 100644 (file)
@@ -98,5 +98,5 @@ INSTALLED_APPS = (
     'south',
 )
 
-TELECASTER_CONF = '/etc/telecaster/telecaster.xml'
+TELECASTER_CONF = '../conf/etc/telecaster/telecaster.xml'
 
index 5dc55cbd408fc2360e9f3855afd8227135110c56..66e8e81bd65ee88d5fdba10a014acfcc445a3107 100644 (file)
@@ -104,7 +104,8 @@ table.hardware {
 /* BUTTONS */
 
 .buttons a, .buttons button{
-    display:block;
+    display:inline-block;
+    height: 20px;
     float:left;
     margin:0 7px 0 0;
     background-color:#f5f5f5;
index 3445ba6f6faa6db78ee93b14b8812898135a6523..2b337a7d2fe25a09d3eae9914cb642235b40e6e9 100644 (file)
@@ -136,14 +136,14 @@ class Station(Model):
         return ' - '.join(self.description) + ' - ' + str(self.datetime_start) + ' > ' + str(self.datetime_stop)
     
     def to_dict(self):
-        dict = {'organization': self.organization.name, 
-                'department': self.department.name, 
-                'conference': self.conference.title, 
-                'professor': self.professor.name, 
-                'session': self.session.name, 
-                'comment': self.comment, 
-                'started': str(self.started), 
-                }
+        dict = [ {'id':'organization','value': self.organization.name, 'class':'', 'label':'Organization'},
+                {'id': 'department', 'value': self.department.name , 'class':'', 'label':'Departement'},
+                {'id' : 'conference', 'value': self.conference.title, 'class':'' , 'label': 'Conference'},
+                {'id': 'professor', 'value': self.professor.name, 'class':'' , 'label': 'Professor'},
+                {'id': 'session', 'value': self.session.name, 'class':'' , 'label': 'Session'},
+                {'id': 'comment', 'value': self.comment, 'class':'' , 'label': 'Comment'},
+                {'id': 'started', 'value': str(self.started), 'class':'' , 'label': 'Started'},
+                ]
         return dict
         
     @property
index f4e492b826d803d1b32e81f085a43a16314c83f1..9f6354fa5f5f987ceff592709bb77cac20981c2b 100644 (file)
@@ -9,8 +9,30 @@
 <link href="{% url telecaster-css "telecaster.css" %}" rel="stylesheet" type="text/css">
 
 {% block javascript %}
-
-
+<script src="{% url telecaster-js "jquery-1.6.min.js" %}" type="text/javascript"></script>
+<script src="{% url telecaster-js "application.js" %}" type="text/javascript"></script>
+<script type="text/javascript">
+function server_status_callback(){
+    var j = json; //global variable
+    var d = _REFRESH_TIME_INTERVAL; //global variable
+    var refresh = function(){
+        var data = j({},"telecaster.get_server_status", function(data){
+            var res = data.result;
+            var doc = document;
+            var tblwrapper = doc.getElementById('server_status_table_wrapper');
+            var s = "<table class='hardware'><tbody>";
+            for(var i=0; i <res.length; i++){
+                var line = res[i];
+                s+= '<tr id="'+line.id+'"><td>'+line.label+'</td><td><span class="'+line.class+'">'+line.value+'</span></td></tr>';
+            }
+            tblwrapper.innerHTML = s+'</tbody></table>';
+        });
+    };
+    refresh();
+    setInterval(refresh,d);
+};
+server_status_callback();
+</script>
 {% endblock javascript %}
 
 </HEAD>
@@ -25,6 +47,7 @@
 
 <div class="hardware">
 <div class="title">Status</div>
+<div id="server_status_table_wrapper">
 <table class="hardware">
 <tr>
 <td>Name</td><TD> : </TD>
@@ -52,6 +75,7 @@
 </table>
 </div>
 </div>
+</div>
 {% endblock hardware %}
 
 {% block content %}
 {% block footer %}
 <div class="tools">
     <div class="buttons">
-    <button type="submit" class="positive"><img src="{% url telecaster-images "arrow_refresh.png" %}" alt="">Refresh</button>
-    <button type="submit" name="action" value="start" class="negative"><img src="{% url telecaster-images "stop.png" %}" alt="">Record</button>
-    <a href="http://{{ status.ip }}:{{ station.port }}/{{ station.mount_point }}"><img src="{% url telecaster-images "control_play_blue.png" %}" alt="">Play Live</a>
-    <a href="/archives/"><img src="{% url telecaster-images "folder_go.png" %}" alt="">Archives</a>
-    <a href="/trash/"><img src="{% url telecaster-images "bin.png" %}" alt="">Trash</a>
+    <button type="submit" class="button positive"><img src="{% url telecaster-images "arrow_refresh.png" %}" alt="">Refresh</button>
+    <button type="submit" name="action" value="start" class="button negative"><img src="{% url telecaster-images "stop.png" %}" alt="">Record</button>
+    <a class="button" href="http://{{ status.ip }}:{{ station.port }}/{{ station.mount_point }}"><img src="{% url telecaster-images "control_play_blue.png" %}" alt="">Play Live</a>
+    <a class="button" href="/archives/"><img src="{% url telecaster-images "folder_go.png" %}" alt="">Archives</a>
+    <a class="button" href="/trash/"><img src="{% url telecaster-images "bin.png" %}" alt="">Trash</a>
     </div>
 </div>
 
index a3f81abf97c4ab8efa701fc7b19a6adb3840206f..da72e9fab946600c737b9073ebae46c7537c30af 100644 (file)
@@ -2,19 +2,47 @@
 {% load telecaster_utils %}
 {% load i18n %}
 
+{% block javascript %}
+{{ block.super }}
+<script type="text/javascript">
+function station_status_callback(){
+    var j = json; //global variable
+    var d = _REFRESH_TIME_INTERVAL; //global variable
+    var refresh = function(){
+        var data = j({},"telecaster.get_station_status", function(data){
+            var res = data.result;
+            var doc = document;
+            var tblwrapper = doc.getElementById('station_status_table_wrapper');
+            var s = "<table class='form'><tbody>";
+            for(var i=0; i <res.length; i++){
+                var line = res[i];
+                s+= '<tr id="'+line.id+'"><td>'+line.label+'</td><td><span class="'+line.class+'">'+line.value+'</span></td></tr>';
+            }
+            tblwrapper.innerHTML = s+'</tbody></table>';
+        });
+    };
+    refresh();
+    setInterval(refresh,d);
+};
+station_status_callback();
+</script>
+{% endblock javascript %}
+
 {% block content %}
 
 <form enctype="multipart/form-data" id="_stopStationForm" method="post" action="" name="formulaire">{% csrf_token %}   
 <div class="main">
 
-<table class="form">
+    <div id="station_status_table_wrapper">
+        <!--<table class="form">
 <TR><TH align="left">{% trans "Organization" %}</TH><TD> : </TD><TD>{{ station.organization }}</TD></TR>
 <TR><TH align="left">{% trans "Department" %}</TH><TD> : </TD><TD>{{ station.conference.department }}</TD></TR>
 <TR><TH align="left">{% trans "Conference" %}</TH><TD> : </TD><TD>{{ station.conference }}</TD></TR>
 <TR><TH align="left">{% trans "Session" %}</TH><TD> : </TD><TD>{{ station.session }}</TD></TR>
 <TR><TH align="left">{% trans "Professor" %}</TH><TD> : </TD><TD>{{ station.professor }}</TD></TR>
 <TR><TH align="left">{% trans "Comment" %}</TH><TD> : </TD><TD>{{ station.comment }}</TD></TR>
-</table>
+        </table>-->
+    </div>
 </div>
 
 </form>
index e4f4d149133bc6945fea54c45331a63a4e92838c..1126dc99d04652b34eb71e659317b3b59d34faf6 100644 (file)
@@ -108,7 +108,7 @@ def get_pid(proc,uid):
             pid = proc.split(' ')[0]
             command = ' '.join(proc.split(' ')[1:])[:-1]
             pids.append(pid)
-    if len(pids) == 1:
+    if len(pids) < 1:
         return [] 
     else:
         return [pids[0]]