aboutsummaryrefslogtreecommitdiffstats
path: root/python/examples
diff options
context:
space:
mode:
Diffstat (limited to 'python/examples')
-rw-r--r--python/examples/here-now-example.py37
-rwxr-xr-xpython/examples/history-example.py14
-rwxr-xr-xpython/examples/publish-example.py14
-rwxr-xr-xpython/examples/subscribe-example.py64
4 files changed, 129 insertions, 0 deletions
diff --git a/python/examples/here-now-example.py b/python/examples/here-now-example.py
new file mode 100644
index 0000000..d2ca9bd
--- /dev/null
+++ b/python/examples/here-now-example.py
@@ -0,0 +1,37 @@
+## www.pubnub.com - PubNub Real-time push service in the cloud.
+# coding=utf8
+
+## PubNub Real-time Push APIs and Notifications Framework
+## Copyright (c) 2010 Stephen Blum
+## http://www.pubnub.com/
+
+## -----------------------------------
+## PubNub 3.1 Real-time Push Cloud API
+## -----------------------------------
+
+import sys
+sys.path.append('../')
+from twisted.internet import reactor
+from Pubnub import Pubnub
+
+publish_key = len(sys.argv) > 1 and sys.argv[1] or 'demo'
+subscribe_key = len(sys.argv) > 2 and sys.argv[2] or 'demo'
+secret_key = len(sys.argv) > 3 and sys.argv[3] or 'demo'
+cipher_key = len(sys.argv) > 4 and sys.argv[4] or ''
+ssl_on = len(sys.argv) > 5 and bool(sys.argv[5]) or False
+
+## -----------------------------------------------------------------------
+## Initiate Pubnub State
+## -----------------------------------------------------------------------
+pubnub = Pubnub( publish_key=publish_key, subscribe_key=subscribe_key,
+ secret_key=secret_key, cipher_key=cipher_key, ssl_on=ssl_on)
+crazy = 'hello_world'
+
+def print_cb(message):
+ print message
+
+pubnub.here_now( {
+ 'channel' : crazy,
+ 'callback' : print_cb
+})
+
diff --git a/python/examples/history-example.py b/python/examples/history-example.py
new file mode 100755
index 0000000..c7c9547
--- /dev/null
+++ b/python/examples/history-example.py
@@ -0,0 +1,14 @@
+import sys
+sys.path.append('../')
+from Pubnub import Pubnub
+
+## Initiat Class
+pubnub = Pubnub( 'demo', 'demo', None, False )
+
+## History Example
+history = pubnub.history({
+ 'channel' : 'hello_world',
+ 'limit' : 1
+})
+print(history)
+
diff --git a/python/examples/publish-example.py b/python/examples/publish-example.py
new file mode 100755
index 0000000..c97034b
--- /dev/null
+++ b/python/examples/publish-example.py
@@ -0,0 +1,14 @@
+from Pubnub import Pubnub
+
+## Initiate Class
+pubnub = Pubnub( publish_key='demo', subscribe_key='demo', ssl_on=False )
+
+## Publish Example
+info = pubnub.publish({
+ 'channel' : 'hello_world',
+ 'message' : {
+ 'some_text' : 'Hello my World'
+ }
+})
+print(info)
+
diff --git a/python/examples/subscribe-example.py b/python/examples/subscribe-example.py
new file mode 100755
index 0000000..e458e2b
--- /dev/null
+++ b/python/examples/subscribe-example.py
@@ -0,0 +1,64 @@
+import sys
+import threading
+import time
+import random
+import string
+from Pubnub import Pubnub
+
+## Initiate Class
+pubnub = Pubnub( 'demo', 'demo', None, False )
+
+print("My UUID is: "+pubnub.uuid)
+
+channel = ''.join(random.choice(string.ascii_letters + string.digits) for x in range(20))
+
+## Subscribe Example
+def receive(message) :
+ print(message)
+ return False
+
+def pres_event(message):
+ print(message)
+ return False
+
+def subscribe():
+ print("Listening for messages on '%s' channel..." % channel)
+ pubnub.subscribe({
+ 'channel' : channel,
+ 'callback' : receive
+ })
+
+def presence():
+ print("Listening for presence events on '%s' channel..." % channel)
+ pubnub.presence({
+ 'channel' : channel,
+ 'callback' : pres_event
+ })
+
+def publish():
+ print("Publishing a test message on '%s' channel..." % channel)
+ pubnub.publish({
+ 'channel' : channel,
+ 'message' : { 'text':'foo bar' }
+ })
+
+pres_thread = threading.Thread(target=presence)
+pres_thread.daemon=True
+pres_thread.start()
+
+sub_thread = threading.Thread(target=subscribe)
+sub_thread.daemon=True
+sub_thread.start()
+
+time.sleep(3)
+
+publish()
+
+
+print("waiting for subscribes and presence")
+pres_thread.join()
+
+print pubnub.here_now({'channel':channel})
+
+sub_thread.join()
+