diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2013-03-19 17:41:30 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2013-03-19 17:41:30 (GMT) |
commit | d81907a69f722b2bf6da54aba2ee5a4987002dca (patch) | |
tree | 5981b999d6dd3a870f70a671268bba3b0bb44a65 | |
parent | e13438d4eeac2e3b9fbe4ddbf399fdd136962297 (diff) |
Start server only if does not join a shared instance
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
-rw-r--r-- | activity.py | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/activity.py b/activity.py index d840365..ab5fcee 100644 --- a/activity.py +++ b/activity.py @@ -43,12 +43,14 @@ class JournalShare(activity.Activity): activity.Activity.__init__(self, handle) - activity_path = activity.get_bundle_path() - activity_root = activity.get_activity_root() - #TODO: check available port + self.server_proc = None self.port = 2500 - self.server_proc = subprocess.Popen(['/bin/python', 'server.py', - activity_path, activity_root, str(self.port)]) + if not self.shared_activity: + activity_path = activity.get_bundle_path() + activity_root = activity.get_activity_root() + #TODO: check available port + self.server_proc = subprocess.Popen(['/bin/python', 'server.py', + activity_path, activity_root, str(self.port)]) toolbar_box = ToolbarBox() @@ -80,7 +82,9 @@ class JournalShare(activity.Activity): # Only present in WebKit1 > 1.9.3 and WebKit2 pass - self.view.load_uri('http://localhost:2500/web/index.html') + self.view.load_html_string('<html><body>Loading...</body></html>', + 'file:///') + self.view.show() scrolled = Gtk.ScrolledWindow() scrolled.add(self.view) @@ -99,6 +103,9 @@ class JournalShare(activity.Activity): else: # Wait for a successful join before trying to connect self.connect("joined", self._joined_cb) + else: + self.view.load_uri('http://0.0.0.0:%d/web/index.html' % + self.port) def _joined_cb(self, also_self): """Callback for when a shared activity is joined. @@ -224,5 +231,6 @@ class JournalShare(activity.Activity): pass def can_close(self): - self.server_proc.kill() + if self.server_proc is not None: + self.server_proc.kill() return True |