aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/skype/skyped.py
diff options
context:
space:
mode:
authorMike Kazantsev <mk.fraggod@gmail.com>2013-02-11 13:56:03 +0100
committerMiklos Vajna <vmiklos@suse.cz>2013-02-11 13:56:03 +0100
commit7e5b4bd31383187b04dedec4854d8c89ae2aea7b (patch)
treeee4f79e72889eef0d05df287f5882bd878b6bdf6 /protocols/skype/skyped.py
parentb56c76ccb4f9b0e2ebb220ff2b99b7a1f841b9a5 (diff)
skype: add --dont-start-skype option
For cases when case skype start/stop/restart is being handled externally. Skype4Py seem to be able to handle client going on/off.
Diffstat (limited to 'protocols/skype/skyped.py')
-rw-r--r--protocols/skype/skyped.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/protocols/skype/skyped.py b/protocols/skype/skyped.py
index 224a94d3..76368aba 100644
--- a/protocols/skype/skyped.py
+++ b/protocols/skype/skyped.py
@@ -51,11 +51,12 @@ def eh(type, value, tb):
gobject.MainLoop().quit()
if options.conn:
options.conn.close()
- # shut down client if it's running
- try:
- skype.skype.Client.Shutdown()
- except NameError:
- pass
+ if not options.dont_start_skype:
+ # shut down client if it's running
+ try:
+ skype.skype.Client.Shutdown()
+ except NameError:
+ pass
sys.exit("Exiting.")
sys.excepthook = eh
@@ -307,10 +308,12 @@ class MockedSkype:
class SkypeApi:
def __init__(self, mock):
+ global options
if not mock:
self.skype = Skype4Py.Skype()
self.skype.OnNotify = self.recv
- self.skype.Client.Start()
+ if not options.dont_start_skype:
+ self.skype.Client.Start()
else:
self.skype = MockedSkype(mock)
@@ -444,6 +447,8 @@ def main(args=None):
parser.add_argument('-v', '--version', action='store_true', help='display version information')
parser.add_argument('-n', '--nofork',
action='store_true', help="don't run as daemon in the background")
+ parser.add_argument('-s', '--dont-start-skype', action='store_true',
+ help="assume that skype is running independently, don't try to start/stop it")
parser.add_argument('-m', '--mock', help='fake interactions with skype (only useful for tests)')
parser.add_argument('-d', '--debug', action='store_true', help='enable debug messages')
options = parser.parse_args(sys.argv[1:] if args is None else args)