]> de.git.xonotic.org Git - xonotic/xonstat.git/blob - xonstat/models/server.py
Make models a package instead of being a single (huge) module.
[xonotic/xonstat.git] / xonstat / models / server.py
1 from calendar import timegm
2 from datetime import datetime as dt
3
4 from xonstat.util import pretty_date
5
6
7 class Server(object):
8     def __init__(self, name=None, hashkey=None, ip_addr=None):
9         self.name = name
10         self.hashkey = hashkey
11         self.ip_addr = ip_addr
12         self.create_dt = dt.utcnow()
13
14     def __repr__(self):
15         return "<Server(%s, %s)>" % (self.server_id, self.name.encode('utf-8'))
16
17     def to_dict(self):
18         return {'server_id':self.server_id, 'name':self.name,
19             'ip_addr':self.ip_addr, 'location':self.location}
20
21     def fuzzy_date(self):
22         return pretty_date(self.create_dt)
23
24     def epoch(self):
25         return timegm(self.create_dt.timetuple())