def showMessages(request):
    """show messages for the devices of the logged in samsung user

                Args:
                    request: django request object
                Returns: render messages.html
                """
    context = RequestContext(request)

    #get user_id and token. Needed to retrieve the messages
    token, userId = getTokenAndId(request.user)

    #build the message api
    apiClient = ApiClient(apiKey=token, apiServer = settings.SAMI_SERVER_URL)
    messagesApi = MessagesApi(apiClient)

    #get devices associated to a user
    devicesEnvelope = getUserDevices(token, userId)
    #build a string containing the devices ids separated by comma
    devices = ','.join (getDevicesIds(devicesEnvelope))

    #get devices types pretty names to show on the html
    devicesTypes = getDeviceTypesForUser(token, userId)

    #retrieve the last 20 messages for this devices
    messageEnvelope = messagesApi.getNormalizedMessagesLast(devices, count = 20)

    #get the message count from the envelope and the messages
    count = messageEnvelope.count
    messages = messageEnvelope.data

    #get a dict containing the devices ids with an associated device name to show on the html
    devices = getDeviceIdDict(devicesEnvelope)

    contextDict = {'active': 'messages', 'count': count, 'messages': messages, 'devicesTypes':devicesTypes, 'devices':devices}
    return render_to_response("messages.html", contextDict, context)
#!/usr/bin/env python

"""
 The program uses SAMI Python SDK
 It should be in the root directory of SAMI Python SDK

 Usage:
     python exampleGetMessage.py
"""

deviceID = "YOUR DEVICE ID"
deviceToken = "YOUR DEVICE TOKEN"

print 'SAMI Python Example -- Get the last normalized message'
print '-----------------------'
print ''

from samiio import ApiClient
apiClient = ApiClient(apiKey = deviceToken, apiServer = "https://api.samsungsami.io/v1.1")

from MessagesApi import MessagesApi
messagesApi = MessagesApi(apiClient)

from models import *

# Get the latest message:
lastNormalizedMessagesEnvelope = messagesApi.getNormalizedMessagesLast(sdids = deviceID, count = 1)
print 'Got the last normalized message:' + str(lastNormalizedMessagesEnvelope.data[0].data)
     python exampleSendMessage.py
"""

deviceID = "YOUR DEVICE ID"
deviceToken = "YOUR DEVICE TOKEN"

print 'SAMI Python example - Send a message to SAMI'
print '-----------------------'
print ''

from samiio import ApiClient
apiClient = ApiClient(apiKey=deviceToken,
                      apiServer="https://api.samsungsami.io/v1.1")

from MessagesApi import MessagesApi
messagesApi = MessagesApi(apiClient)

from models import *
message = Message.Message()

message.sdid = deviceID
message.type = "message"

# message.data contains the device JSON message
# Data below is JSON for the SAMI Demo IPhonePedometer
message.data = {
    'numberOfSteps': 2000,
    'distance': 1.1,
    'floorsAscended': 2,
    'floorsDescended': 10
}
#!/usr/bin/env python
"""
 The program uses SAMI Python SDK
 It should be in the root directory of SAMI Python SDK

 Usage:
     python exampleGetMessage.py
"""

deviceID = "YOUR DEVICE ID"
deviceToken = "YOUR DEVICE TOKEN"

print 'SAMI Python Example -- Get the last normalized message'
print '-----------------------'
print ''

from samiio import ApiClient
apiClient = ApiClient(apiKey=deviceToken,
                      apiServer="https://api.samsungsami.io/v1.1")

from MessagesApi import MessagesApi
messagesApi = MessagesApi(apiClient)

from models import *

# Get the latest message:
lastNormalizedMessagesEnvelope = messagesApi.getNormalizedMessagesLast(
    sdids=deviceID, count=1)
print 'Got the last normalized message:' + str(
    lastNormalizedMessagesEnvelope.data[0].data)