Advertisement
Guest User

Wurm Status Server | Sophorino

a guest
Mar 11th, 2015
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.76 KB | None | 0 0
  1. import os , datetime, urllib
  2. from xml.dom.minidom import parse
  3. from time import sleep
  4.  
  5. _sec = 30
  6. _urls = ["http://jenn001.game.wurmonline.com/battles/stats.xml",
  7. "http://wild001.game.wurmonline.com/battles/stats.xml",
  8. "http://freedom001.game.wurmonline.com/battles/stats.xml",
  9. "http://freedom002.game.wurmonline.com/battles/stats.xml",
  10. "http://freedom003.game.wurmonline.com/battles/stats.xml",
  11. "http://freedom004.game.wurmonline.com/battles/stats.xml",
  12. "http://freedom005.game.wurmonline.com/battles/stats.xml",
  13. "http://freedom006.game.wurmonline.com/battles/stats.xml",
  14. "http://freedom007.game.wurmonline.com/battles/stats.xml",
  15. "http://elevation.wurmonline.com/battles/stats.xml"]
  16.  
  17.  
  18. _serversList = []
  19.  
  20. #Clear
  21. def _clear():
  22.     #windows
  23.     os.system('cls')
  24.     #linux
  25.     #os.system('clear')
  26.  
  27. #Sleep
  28. def _sleep():
  29.     sleep(_sec)
  30.  
  31. #Populate
  32. def _populate():
  33.     for index in range(0, len(_urls)):
  34.         try:
  35.             ourl = urllib.urlopen(_urls[index])
  36.             xml = parse(ourl)
  37.  
  38.  
  39.             lupdated = datetime.datetime.fromtimestamp(int(xml.getElementsByTagName('timestamp')[0].firstChild.nodeValue)).strftime("%B %d, %Y")
  40.  
  41.             status = xml.getElementsByTagName('status')[0].firstChild.nodeValue
  42.             m, s = divmod(int(xml.getElementsByTagName('uptime')[0].firstChild.nodeValue), 60)
  43.             h, m = divmod(m, 60)
  44.             d, h = divmod(h, 24)
  45.  
  46.             uptime = "%d days, %d hours and %d minutes" % (d, h, m)
  47.  
  48.             wurmtime = xml.getElementsByTagName('wurmtime')[0].firstChild.nodeValue
  49.             servers = xml.getElementsByTagName('server')
  50.  
  51.             name = servers[index].attributes['name'].value
  52.             players = servers[index].attributes['players'].value
  53.             maxplayers = servers[index].attributes['maxplayers'].value
  54.  
  55.             _serversList.append({'lupdated':lupdated,'status':status,'uptime':uptime,'wurmtime':wurmtime,'name':name,'players':players,'maxplayers':maxplayers})
  56.  
  57.         except Exception as e:
  58.             print e
  59.  
  60. #Populate
  61. def _unpopulate():
  62.     global _serversList
  63.     _serversList = []
  64.  
  65. #Monitor
  66. def _monitor():
  67.     for s in _serversList:
  68.         print "------------------------------------------------------------------------------"
  69.         print " Server: ".ljust(15) + s['name']
  70.         print " Last Updated: ".ljust(15) + s['lupdated']
  71.         print " Status: ".ljust(15) + s['status']
  72.         print " Uptime: ".ljust(15) + s['uptime']
  73.         print " Wurm Time: ".ljust(15) + s['wurmtime']
  74.         print " Players: ".ljust(15) + s['players'] + " / " + s['maxplayers']
  75.         print "------------------------------------------------------------------------------"
  76.  
  77. #Init
  78. while 1:
  79.     _populate()
  80.     _clear()
  81.     _monitor()
  82.     _unpopulate()
  83.     _sleep()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement