[tuxdroid-svn] r5588 - software_suite_v3/software/plugin/plugin-skype/trunk/executables
Status: Beta
Brought to you by:
ks156
|
From: jerome <c2m...@c2...> - 2009-10-05 10:24:27
|
Author: jerome
Date: 2009-10-05 12:24:07 +0200 (Mon, 05 Oct 2009)
New Revision: 5588
Modified:
software_suite_v3/software/plugin/plugin-skype/trunk/executables/plugin-skype.py
Log:
* Fixed a bug quitting Skype client.
Modified: software_suite_v3/software/plugin/plugin-skype/trunk/executables/plugin-skype.py
===================================================================
--- software_suite_v3/software/plugin/plugin-skype/trunk/executables/plugin-skype.py 2009-10-05 09:53:55 UTC (rev 5587)
+++ software_suite_v3/software/plugin/plugin-skype/trunk/executables/plugin-skype.py 2009-10-05 10:24:07 UTC (rev 5588)
@@ -91,6 +91,7 @@
self.normalStart = False
self.quitSkypeClient = False
self.count = 1
+ self.__skypeProcess = -1
def start(self):
"""Plugin entry point.
@@ -137,15 +138,26 @@
self.__skype._API.Close()
self.__skype = None
self.__apiAttachState = -1
+
if self.__skype.Client.IsRunning:
#Shutting down Skype application.
- self.__skype.Client.Shutdown()
+
+ if os.name != 'nt':
+ os.system("kill -15 `ps h --ppid " + str(self.__skypeProcess.pid ) + " | awk '{print $1}'` 2>/dev/null")
+ else:
+ self.__skype.Client.Shutdown()
refreshTaskBar()
try:
#Sending 'Shutdown command' first to do not block the quit process that is quite long.
if self.quitSkypeClient:
- self.__skype.Client.Shutdown()
+ if os.name != 'nt':
+ os.system("kill -15 `ps h --ppid " + str(self.__skypeProcess.pid ) + " | awk '{print $1}'` 2>/dev/null")
+
+ else:
+
+ self.__skype.Client.Shutdown()
+
time.sleep(1.0)
if self.__skype != None:
@@ -423,10 +435,45 @@
self.normalStart = True
return
self.quitSkypeClient = True
- self.throwMessage("Please wait while I launch the skeyepe application")
- self.__skype.Client.Start(Minimized=False, Nosplash=True)
+ self.throwMessage("Please wait while I launch the skeyepe application")
+ if os.name == 'nt':
+ self.__skype.Client.Start(Minimized=False, Nosplash=True)
+ else:
+ self.__startSkypeAppLinux()
+
+
+ def __startSkypeAppLinux(self):
+ """Start skype on linux ( thread needed to do not block the script ).
+ """
+ # Searching for skype binary.
+ result = []
+ found =False
+ result = os.environ
+
+ result = result['PATH'].split(':')
+
+ for path in result:
+ cmd = 'ls ' + path + ' | grep skype'
+ res = commands.getoutput(cmd)
+ if res.find('skype') >= 0:
+ found = True
+ break
+
+ if found:
+ #start skype
+ self.__skypeProcess = subprocess.Popen("skype", stdin = subprocess.PIPE,
+ stdout = subprocess.PIPE)
+
+ while not self.__getSkypeAppConnected():
+ time.sleep(1)
+ self.__activeMain = True
+ else:
+ self.throwMessage("Sorry, it looks like skeyepe is not installed. Please go to the skeyepe website to download the software.")
+ self.__activeMain = False
+
+
# ==========================================================================
# Tux Droid body
# ==========================================================================
|