app2app_client.py :  » IRC » Skype4Py » Skype4Py-1.0.32.0 » examples » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » IRC » Skype4Py 
Skype4Py » Skype4Py 1.0.32.0 » examples » app2app_client.py
#!/usr/bin/env python

import Skype4Py
import threading
import sys

# check arguments and print usage if needed
if len(sys.argv) != 3:
    print 'Usage: app2app_client.py <username> <message>'
    sys.exit(1)

# create event; we will need one since Skype4Py's event
# handlers are called asynchronously on a separate thread
event = threading.Event()

# class with our Skype event handlers
class SkypeEvents:
    # this handler is called when streams are opened or
    # closed, the streams argument contains a list of
    # all currently opened streams
    def ApplicationStreams(self, app, streams):
        # if streams is not empty then a stream to
        # the user was opened, we use its Write
        # method to send data; if streams is empty
        # then it means a stream was closed and we
        # can signal the main thread that we're done
        if streams:
            streams[0].Write(sys.argv[2])
        else:
            global event
            event.set()

    # this handler is called when data is sent over a
    # stream, the streams argument contains a list of
    # all currently sending streams
    def ApplicationSending(self, app, streams):
        # if streams is empty then it means that all
        # streams have finished sending data, since
        # we have only one, we disconnect it here;
        # this will cause ApplicationStreams event
        # to be called
        if not streams:
            app.Streams[0].Disconnect()

# instatinate Skype object and set our event handlers
skype = Skype4Py.Skype(Events=SkypeEvents())

# attach to Skype client
skype.Attach()

# obtain reference to Application object
app = skype.Application('App2AppServer')

# create application
app.Create()

# connect application to user specified by script args
app.Connect(sys.argv[1])

# wait until the event handlers do the job
event.wait()

# delete application
app.Delete()
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.