Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import urllib2
- import json
- from Products.DataCollector.plugins.CollectorPlugin import PythonPlugin
- class dlpxSession:
- de_cookie = None
- # def __init__(self, dlpx_user, dlpx_password, dlpx_url):
- # URLPath,
- # request_values
- # self.dlpx_user = dlpx_user
- # self.dlpx_password = dlpx_password
- # self.dlpx_url = dlpx_url
- # self.URLPath = URLPath
- # self.request_values = request_values
- def getAuthenticated(self, dlpx_user, dlpx_password, dlpx_url):
- self.loginJsonData = json.dumps({'type': 'LoginRequest',
- 'username': dlpx_user, 'password': dlpx_password}, sort_keys=True)
- self.critical = 2
- self.loginPath = '/resources/json/delphix/login'
- self.sessionPath = '/resources/json/delphix/session'
- self.reason = ''
- self.requestValues = json.dumps({'type':'APISession', 'version':
- {'type': 'APIVersion', 'major': 1, 'minor': 3, 'micro': 3}},
- sort_keys=True)
- self.resp = getHTTPConnection(self.sessionPath,
- self.requestValues,
- dlpx_url
- )
- de_cookie = self.resp.headers.get('Set-Cookie')
- self.response = self.getHTTPConnection(self.loginPath, self.loginJsonData, dlpx_url)
- if self.response == self.critical:
- return(self.critical)
- else:
- return(0)
- def getHTTPConnection(self, URLPath, dlpx_de, requestValues = False,
- cookie = None):
- self.headers = {'Content-type': 'application/json'}
- self.critical = 2
- if de_cookie is not None:
- self.headers["Cookie"] = de_cookie
- try:
- if self.requestValues:
- self.req = urllib2.Request(dlpx_de + URLPath, requestValues,
- headers=headers)
- else:
- self.req = urllib2.Request(dlpx_de + URLPath, headers=headers)
- return(urllib2.urlopen(self.req))
- except urllib2.URLError, e:
- print 'Error retrieving URL: %s, %s' % (URLPath, e.code)
- return(critical)
- except urllib2.HTTPError, e:
- print 'HTTP Error: %s' % (e.code)
- return(critical)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement