Advertisement
mcbrune

Untitled

Nov 12th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. import urllib2
  2. import json
  3.  
  4. from Products.DataCollector.plugins.CollectorPlugin import PythonPlugin
  5.  
  6. class dlpxSession:
  7. de_cookie = None
  8.  
  9. # def __init__(self, dlpx_user, dlpx_password, dlpx_url):
  10. # URLPath,
  11. # request_values
  12. # self.dlpx_user = dlpx_user
  13. # self.dlpx_password = dlpx_password
  14. # self.dlpx_url = dlpx_url
  15. # self.URLPath = URLPath
  16. # self.request_values = request_values
  17.  
  18.  
  19. def getAuthenticated(self, dlpx_user, dlpx_password, dlpx_url):
  20. self.loginJsonData = json.dumps({'type': 'LoginRequest',
  21. 'username': dlpx_user, 'password': dlpx_password}, sort_keys=True)
  22. self.critical = 2
  23. self.loginPath = '/resources/json/delphix/login'
  24. self.sessionPath = '/resources/json/delphix/session'
  25. self.reason = ''
  26. self.requestValues = json.dumps({'type':'APISession', 'version':
  27. {'type': 'APIVersion', 'major': 1, 'minor': 3, 'micro': 3}},
  28. sort_keys=True)
  29.  
  30. self.resp = getHTTPConnection(self.sessionPath,
  31. self.requestValues,
  32. dlpx_url
  33. )
  34. de_cookie = self.resp.headers.get('Set-Cookie')
  35. self.response = self.getHTTPConnection(self.loginPath, self.loginJsonData, dlpx_url)
  36.  
  37. if self.response == self.critical:
  38. return(self.critical)
  39. else:
  40. return(0)
  41.  
  42.  
  43. def getHTTPConnection(self, URLPath, dlpx_de, requestValues = False,
  44. cookie = None):
  45. self.headers = {'Content-type': 'application/json'}
  46. self.critical = 2
  47.  
  48. if de_cookie is not None:
  49. self.headers["Cookie"] = de_cookie
  50.  
  51. try:
  52. if self.requestValues:
  53. self.req = urllib2.Request(dlpx_de + URLPath, requestValues,
  54. headers=headers)
  55. else:
  56. self.req = urllib2.Request(dlpx_de + URLPath, headers=headers)
  57.  
  58. return(urllib2.urlopen(self.req))
  59.  
  60. except urllib2.URLError, e:
  61. print 'Error retrieving URL: %s, %s' % (URLPath, e.code)
  62. return(critical)
  63.  
  64. except urllib2.HTTPError, e:
  65. print 'HTTP Error: %s' % (e.code)
  66. return(critical)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement