| Trees | Indices | Help |
|
|---|
|
|
1 ###########################################################################
2 #
3 # This program is part of Zenoss Core, an open source monitoring platform.
4 # Copyright (C) 2008, Zenoss Inc.
5 #
6 # This program is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License version 2 or (at your
8 # option) any later version as published by the Free Software Foundation.
9 #
10 # For complete information please visit: http://www.zenoss.com/oss/
11 #
12 ###########################################################################
13
14 from urllib2 import HTTPCookieProcessor, build_opener, HTTPError
15 from urllib import quote
16 from urlparse import urljoin
17
18 #BASE_URL = 'http://dotnet.zenoss.loc:8080/ZenossDotNet/'
19 BASE_URL = 'http://localhost:8081/ZenossDotNet/'
20
21 _DotNetSessions = {}
22
24 session = _DotNetSessions.get(username, None)
25 if not session:
26 session = DotNetSession()
27 session.login(username, password)
28 _DotNetSessions[username] = session
29 return session
30
32 """
33 A cookie-enabled http client that can log in to and retrieve data from
34 Zenoss.net.
35 """
36
38 """
39 Set up the cookie jar.
40 """
41 import MultipartPostHandler
42 self.opener = build_opener(HTTPCookieProcessor(),
43 MultipartPostHandler.MultipartPostHandler)
44 self.base_url = BASE_URL
45
47 """
48 Wrapper for the opener that encodes the query string.
49 """
50 url = urljoin(self.base_url, quote(url))
51 try:
52 response = self.opener.open(url, params)
53 except HTTPError, e:
54 print "Unable to access the Zenoss.net url:" + e.geturl()
55 return None
56 else:
57 return response
58
60 """
61 Log in to Zenoss.net.
62 """
63 loginUrl = 'login_form'
64
65 # The fields just come from the login_form template
66 params = {
67 '__ac_name': username,
68 '__ac_password': password,
69 'came_from':'',
70 'form.submitted':1,
71 'js_enabled':1,
72 'cookies_enabled':1
73 }
74 # POST the params to the loginUrl. The resulting
75 # cookie will be stored in the cookie jar.
76 # TODO: What happens on login failure?
77 self.open(loginUrl, params)
78
92
| Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1.1812 on Tue Oct 11 12:51:57 2011 | http://epydoc.sourceforge.net |