1 # encoding=utf-8
2 import urllib2
3 import cookielib
4 # from BeautifulSoup import BeautifulSoup
5 from bs4 import BeautifulSoup
6 import re
7 queue_url = "http://192.168.16.218:8161/admin/queues.jsp"
8
9 def MQBrowser(url):
10 login_page = queue_url
11
12 try:
13 cj = cookielib.CookieJar()
14 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
15
16 opener.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'),
17 ('Authorization', 'Basic YWRtaW46YWRtaW4=')]
18
19 opener.open(url)
20 op = opener.open(login_page)
21 data = op.read()
22 return data
23 except Exception, e:
24 print str(e)
25
26
27 def get_queue_size_by_name(queue_name):
28 content = MQBrowser(queue_url)
29 soup = BeautifulSoup(''.join(content))
30 queue_list = soup.findAll('tbody')[1].findAll('tr')
31 for i in queue_list:
32 queue_info = i.findAll('td')
33 if queue_name == queue_info[0].text.strip():
34 num_pending = queue_info[1].text.strip()
35 return num_pending
36 return -1
37
38
39 def get_queue_size():
40 content = MQBrowser(queue_url)
41 soup = BeautifulSoup(''.join(content))
42 queue_list = soup.findAll('tbody')[1].findAll('tr')
43 queue_dic = {}
44 for i in queue_list:
45 queue_info = i.findAll('td')
46 queue_name = queue_info[0].text.strip()
47 num_pending = queue_info[1].text.strip()
48 num_consumer = queue_info[2].text.strip()
49 num_enqueued = queue_info[3].text.strip()
50 num_dequeued = queue_info[4].text.strip()
51 queue_dic[queue_name] = [num_pending, num_consumer, num_enqueued, num_dequeued]
52 return queue_dic
53
54
55 def get_queue_detail(queue_name):
56 content = MQBrowser("http://127.0.0.1:8161/admin/browse.jsp?JMSDestination=%s" % queue_name)
57 soup = BeautifulSoup(''.join(content))
58
59
60 if __name__ == "__main__":
61 import sys
62
63 if len(sys.argv) == 2:
64 queue_name = sys.argv[1]
65 else:
66 queue_name = "None"
67 # print get_queue_size_by_name(queue_name)