def __init__(self, eid=None, name=None, pos=None, data=None): self.id = eid self.name = name if not isinstance(pos, Location): self.pos = Location(data=pos) else: self.pos = pos self.char = "x" if data: self.load(data)
class Player(Entity): def __init__(self, eid=None, name=None, pos=None, data=None): self.id = eid self.name = name if not isinstance(pos, Location): self.pos = Location(data=pos) else: self.pos = pos self.char = "x" if data: self.load(data) def dump(self): return { 'id':self.id, 'name':self.name, 'pos':self.pos.dump(), 'char':self.char } def load(self, obj): if obj.get('pos'): obj['pos'] = Location(data=obj['pos']) self.__dict__.update(obj)
Lon 0 test: regLon0.0,-50.1,0.0 : Test 7 : -50.5,0.0 : : Lon -2 test: regLon-2,-50.1,-2 : Test 8 : -50.5,358.0 : : UK test: regUK,50,0.0 : Test 9 : 50.5,0.0 : 50.25,0.25 : ARC-44 """.strip().split("\n") loc_map = {} for line in mappers: title, loc_string, where, global_gb, regional_gb, domain = [ i.strip() for i in line.split(":") ] domain = domain or None loc = Location(loc_string) print(loc, loc.global_gb, loc.regional_gb, loc.regional_domain) global_gb = tuple([float(i) for i in global_gb.split(",")]) assert global_gb == loc.global_gb if regional_gb: regional_gb = tuple([float(i) for i in regional_gb.split(",")]) assert regional_gb == loc.regional_gb assert domain == loc.regional_domain print(loc, loc.global_gb, loc.regional_gb, loc.regional_domain) print("All Location tests passed!!!") print("**************************\n" * 5)