#!/usr/bin/env python

from dm.common.api.dmRestApi import DmRestApi

class DaqRestApi(DmRestApi):
    """ Base DAQ DM REST api class. """

    def __init__(self, username=None, password=None, host=None, port=None, protocol=None):
        if host == None:
            host = self.configurationManager.getDaqWebServiceHost()
        if port == None:            
            port = self.configurationManager.getDaqWebServicePort()
        DmRestApi.__init__(self, username, password, host, port, protocol)

#######################################################################
# Testing.

if __name__ == '__main__':
    api = DaqRestApi('sveseli', 'sveseli')
    #api.sendRequest('https://zagreb.svdev.net:10232/dm/directory/list', 'GET', data='')
    import urllib
    from dm.common.utility.configurationManager import ConfigurationManager
    cm = ConfigurationManager.getInstance()
    cm.setSessionCacheFile('/tmp/session')
    #print 'Non-session request'
    #print api.sendRequest('https://zagreb.svdev.net:10232/dm/directory/list?path=/tmp', 'GET')
    print 'Session request'
    data = { 'path' : '/tmp/xyz' }
    #print api.sendSessionRequest('https://zagreb.svdev.net:10232/dm/file/write?path=/tmp/xyz&content=xyz', 'POST', contentType='application/x-www-form-urlencoded', data=urllib.urlencode(data))
    #print api.sendSessionRequest('https://zagreb.svdev.net:10232/dm/file/write', 'POST', data=data)
    postdata='path=/tmp/xyz'
    postdata+='&content=%s' % urllib.quote_plus('Hey there')
    print api.sendSessionRequest('https://zagreb.svdev.net:10232/dm/file/write', 'POST', contentType='application/x-www-form-urlencoded', data=postdata)