Posted by kahrn on Sun 28 Sep 17:39 (modification of post by kahrn view diff)
report abuse | download | new post
- """
- bf2xml.py 0.1
- Ricky Hewitt <kahrny@gmail.com>
- Part of the xbot irc bot.
- This script is able to display BF2 server information by
- obtaining and parsing an XML file.
- Relies on game-monitor.com (for now).
- TODO: Add Current Map (limited due to limitations of XML feed)
- """
- import urllib
- from xml.dom import minidom
- def get_server_info(HOST="74.53.113.68:16567"):
- """Retrieve information for a given IP address (e.g. 127.0.0.1:16567).
- Output is in the form of a list."""
- HOST_URL = 'http://module.game-monitor.com/%s/data/server.xml' % (HOST)
- dom = minidom.parse(urllib.urlopen(HOST_URL))
- for node in dom.getElementsByTagName('ip'):
- server_ip = node.firstChild.data
- for node in dom.getElementsByTagName('port'):
- server_port = node.firstChild.data
- for node in dom.getElementsByTagName('name'):
- server_name = node.firstChild.data
- for node in dom.getElementsByTagName('query_time'):
- server_ping = node.firstChild.data
- for node in dom.getElementsByTagName('player'):
- server_players = node.firstChild.data
- for node in dom.getElementsByTagName('maxplayer'):
- server_mplayers = node.firstChild.data
- for node in dom.getElementsByTagName('link'):
- server_link = node.firstChild.data
- server_info = []
- server_info.append(str(server_ip) + ":" + str(server_port) + " : " + str(server_name) + " : " + str(server_players) + "/" + str(server_mplayers) + " : " + str(server_ping))
- return server_info
- if __name__=="__main__":
- serverinfo = get_server_info()
- for i in serverinfo:
- print i
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.