Metadata-Version: 1.1
Name: ptsmpp
Version: 0.1.0
Summary: PTSMPP - Python Twisted SMPP 3.4 client library
Home-page: https://github.com/xanderdin/ptsmpp
Author: Alexander Pravdin
Author-email: aledin@mail.ru
License: Apache License 2.0
Description: PTSMPP - Python Twisted SMPP 3.4 client library
        ===============================================
        
        This is a mixdown version of smpp.pdu and smpp.twisted packages found at
        github. It also includes enum package. The enum package was put to ptsmpp
        package in order to eliminate a dependency conflict: the smpp.twisted
        package requires pyOpenSSL package, which requires cryptography package,
        which requires enum34 package, which conflicts with the enum package,
        which is required by both smpp.pdu and smpp.twisted packages.
        
        
        SMPP 3.4 Protocol Specification
        -------------------------------
        
        http://www.nowsms.com/discus/messages/1/24856.html
        
        
        Debian packages
        ---------------
        
        https://github.com/xanderdin/ptsmpp-dist-debian
        
        
        Usage example
        -------------
        
            import logging
            from twisted.internet import reactor, defer
            from ptsmpp.twisted.client import SMPPClientTransceiver, SMPPClientService
            from ptsmpp.twisted.config import SMPPClientConfig
        
            class SMPP(object):
        
                def __init__(self, config=None):
                    if config is None:
                        config = SMPPClientConfig(host='localhost', port=999,
                                                  username='uname', password='pwd')
                    self.config = config
                
                @defer.inlineCallbacks
                def run(self):
                    try:
                        #Bind
                        smpp = yield SMPPClientTransceiver(
                            self.config, self.handleMsg).connectAndBind()
                        #Wait for disconnect
                        yield smpp.getDisconnectedDeferred()
                    except Exception, e:
                        print "ERROR: %s" % str(e)
                    finally:
                        reactor.stop()
            
                def handleMsg(self, smpp, pdu):
                    """
                    NOTE: you can return a Deferred here
                    """
                    print "Received pdu %s" % pdu
            
            if __name__ == '__main__':
                logging.basicConfig(level=logging.DEBUG)
                SMPP().run()
                reactor.run()
        
Keywords: ptsmpp smpp twisted
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Twisted
Classifier: Topic :: System :: Networking
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
