Troubleshooting Python-Twisted SDK
Deprecated
NOTICE: Based on current web trends and our own usage data, PubNub's Python Twisted SDK is deprecated as of May 1, 2019. Deprecation means we will no longer be updating the Python Twisted SDK but will continue to support users currently using it. Please feel free to use our other Python SDK offerings as they will continue to be supported and maintained. If you would like to use the Python Twisted SDK specifically, we would love to work with you on keeping this project alive!
How to enable logging
Use this code to enable logging:
1import pubnub
2import logging
3
4pubnub.set_stream_logger('pubnub', logging.DEBUG)
How to find the version of your SDK
You can access your SDK version via constant:
1from pubnub import PubNubTwisted
2
3PubNubTwisted.SDK_VERSION
Error handling with deferred()
In case of deferred()
calls, you should add error callback via addErrback
to returned deferred. Errors that will be passed to given errback will wrapped out by either TwistedEnvelope
or PubNubTwistedException
which both implement two object fields:
- e.result - a request result object in case of success, otherwise
None
. - e.status -
PNStatus
object with useful information about the finished request. You may check if it was an error or a success usinge.is_error()
helper.
1def publish():
2 def succ(envelope):
3 print(str(envelope.result))
4
5 def errback(error):
6 print("Error %s" % str(e))
7 print("Error category #%d" % e.status.category)
8
9 pubnub.publish().channel("my_channel").message("hello!").deferred().addCallback(succ).addErrback(errback)