diff options
Diffstat (limited to 'PubnubCoreAsync.py')
| -rw-r--r-- | PubnubCoreAsync.py | 33 | 
1 files changed, 14 insertions, 19 deletions
| diff --git a/PubnubCoreAsync.py b/PubnubCoreAsync.py index bafbca8..0ea03e9 100644 --- a/PubnubCoreAsync.py +++ b/PubnubCoreAsync.py @@ -39,7 +39,7 @@ class PubnubCoreAsync(object):      def start(self): pass       def stop(self):  pass -    def timeout( self, callback, delay ): +    def timeout( self, delay, callback ):          pass      def __init__( @@ -75,6 +75,7 @@ class PubnubCoreAsync(object):          self.cipher_key    = cipher_key          self.ssl           = ssl_on          self.subscriptions = {} +        self.timetoken     = 0          if self.ssl :              self.origin = 'https://' + self.origin @@ -170,6 +171,7 @@ class PubnubCoreAsync(object):          ], publish_response ) +      def subscribe( self, args ) :          """          #** @@ -224,8 +226,7 @@ class PubnubCoreAsync(object):          if not (channel in self.subscriptions) :              self.subscriptions[channel] = {                  'first'     : False, -                'connected' : 0, -                'timetoken' : '0' +                'connected' : False,              }          ## Ensure Single Connection @@ -233,14 +234,15 @@ class PubnubCoreAsync(object):              return "Already Connected"          self.subscriptions[channel]['connected'] = 1 - +        print self.subscriptions          ## SUBSCRIPTION RECURSION           def substabizel():              ## STOP CONNECTION?              if not self.subscriptions[channel]['connected']:                  return - +                        def sub_callback(response): +                response = json.loads(response)                  ## STOP CONNECTION?                  if not self.subscriptions[channel]['connected']:                      return @@ -254,15 +256,15 @@ class PubnubCoreAsync(object):                  if not response:                      def time_callback(_time):                          if not _time: -                            reactor.callLater( 1, substabizel ) +                            self.timeout( 1, substabizel )                              return errorback("Lost Network Connection")                          else: -                            reactor.callLater( 1, substabizel ) +                            self.timeout( 1, substabizel )                      ## ENSURE CONNECTED (Call Time Function)                      return self.time({ 'callback' : time_callback }) -                self.subscriptions[channel]['timetoken'] = response[1] +                self.timetoken = response[1]                  substabizel()                  pc = PubnubCrypto() @@ -295,10 +297,10 @@ class PubnubCoreAsync(object):                      self.subscribe_key,                      channel,                      '0', -                    str(self.subscriptions[channel]['timetoken']) +                    str(self.timetoken)                  ], sub_callback )              except : -                reactor.callLater( 1, substabizel ) +                self.timeout( 1, substabizel )                  return          ## BEGIN SUBSCRIPTION (LISTEN FOR MESSAGES) @@ -476,12 +478,5 @@ class PubnubCoreAsync(object):          request.addCallback(received)          request.addBoth(complete) - - -class PubNubResponse(Protocol): -    def __init__( self, finished ): -        self.finished = finished - -    def dataReceived( self, bytes ): -            self.finished.callback(bytes) - +    def _request( self, request, callback, timeout=30 ) : +        pass | 
