Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--broadcast.py6
-rw-r--r--classroomkit.py27
-rw-r--r--utilities.py6
-rw-r--r--viewer.py7
4 files changed, 41 insertions, 5 deletions
diff --git a/broadcast.py b/broadcast.py
index cc2771a..410c339 100644
--- a/broadcast.py
+++ b/broadcast.py
@@ -38,6 +38,9 @@ class BroadcastProcess():
def getProcessInfo(self):
return self._utilities.getNetworkProcessInfo(self._programName)
+ def startProcess(self):
+ if not self.getStatus():
+ self._utilities.startProgram(self._programName,self._args)
class BroadcastUI():
"""Broadcast UI component for Classroom Kit Activity
@@ -148,3 +151,6 @@ class Broadcast():
"""Show broadcast status
"""
self._ui.showStatus()
+
+ def startBroadcast(self):
+ self._process.startProcess()
diff --git a/classroomkit.py b/classroomkit.py
index ac201dd..81273ad 100644
--- a/classroomkit.py
+++ b/classroomkit.py
@@ -18,7 +18,12 @@ from sugar.activity.activity import ActivityToolbox
from sugar.presence import presenceservice
from broadcast import Broadcast
+from viewer import Viewer
+# Telepathy service setup
+SERVICE = 'org.sugarlabs.ClassroomKit'
+IFACE = SERVICE
+PATH = '/org/sugarlabs/ClassroomKit'
class ClassroomKitActivity(activity.Activity):
"""Classroom Kit Activity
@@ -27,6 +32,9 @@ class ClassroomKitActivity(activity.Activity):
# Broadcast Component
_broadcast = None
+ # Viewer Component
+ _viewer = None
+
# UI
_toolbar = None
@@ -42,15 +50,26 @@ class ClassroomKitActivity(activity.Activity):
# UI
self.loadUI()
- # create broadcast component
- self._broadcast = Broadcast(self)
- self._broadcast.loadUI();
+ # Broadcast
+ if not self._shared_activity:
+ self._broadcast = Broadcast(self)
+ self._broadcast.loadUI();
+ # Viewer
+ else:
+ self._viewer = Viewer(self)
+ self._viewer.loadUI();
# Show UI
self.showUI()
# Show status
- self._broadcast.showStatus()
+ if not self._shared_activity:
+ self._broadcast.startBroadcast()
+ self._broadcast.showStatus()
+ else:
+ self._viewer.startViewer("192.168.1.69")
+ self._viewer.showStatus()
+
def loadUI(self):
"""Create and show UI
diff --git a/utilities.py b/utilities.py
index 5ac8ad2..df63951 100644
--- a/utilities.py
+++ b/utilities.py
@@ -109,7 +109,7 @@ class Utilities():
def startProgram(self, programName, args=[]):
fname = "/usr/bin/" + programName
if not os.path.isfile(fname):
- fname = programName
+ fname = "./" + programName
cmd = [fname]
@@ -117,6 +117,10 @@ class Utilities():
for arg in args:
cmd.append(arg)
+ f = open("/tmp/ariel.txt", "w")
+ f.write(str(cmd) + "\n" )
+ f.close()
+
subprocess.call(cmd, shell=False)
def getNetworkProcessInfo(self,programName):
diff --git a/viewer.py b/viewer.py
index 874dfe0..372abc5 100644
--- a/viewer.py
+++ b/viewer.py
@@ -38,6 +38,10 @@ class ViewerProcess():
def getProcessInfo(self):
return self._utilities.getNetworkProcessInfo(self._programName)
+ def startProcess(self, ip):
+ if not self.getStatus():
+ self._args = [ ip ]
+ self._utilities.startProgram(self._programName,self._args)
class ViewerUI():
"""Viewer UI component for Classroom Kit Activity
@@ -148,3 +152,6 @@ class Viewer():
"""Show Viewer status
"""
self._ui.showStatus()
+
+ def startViewer(self, ip):
+ self._process.startViewer(ip)