def getFullMessageText(message): """Gets full text of automaticaly generated message If message has no data to generate, it returns empty string. """ text = "" if message.has_key("data"): sourceID, msgID, locationID, turn, data = message["data"] sev = getMsgSeverity(msgID) currTurn = client.getTurn() player = client.getPlayer() # source if sourceID != OID_NONE and sourceID != player.oid: obj = client.get(sourceID, noUpdate=1) if obj: source = getattr(obj, "name", res.getUnknownName()) else: source = _("N/A") else: source = _("-") text = "%s%s\n" % (text, _("Source: %s") % source) # location if locationID != OID_NONE: obj = client.get(locationID, noUpdate=1) location = getattr(obj, "name", res.getUnknownName()) else: location = _("-") text = "%s%s\n" % (text, _("Location: %s") % location) text = "%s%s\n" % (text, _("Severity: %s") % _(gdata.msgSeverity[sev])) text = "%s%s\n" % (text, _("Time: %s [%s]") % (res.formatTime(turn), res.formatTime(turn - currTurn))) text = "%s%s\n" % (text, "") text = "%s%s\n" % (text, getMsgText(msgID, data)) return text
def getFullMessageText(message): """Gets full text of automaticaly generated message If message has no data to generate, it returns empty string. """ text = "" if message.has_key("data"): sourceID, msgID, locationID, turn, data = message["data"] sev = getMsgSeverity(msgID) currTurn = client.getTurn() player = client.getPlayer() # source if sourceID != Const.OID_NONE and sourceID != player.oid: obj = client.get(sourceID, noUpdate = 1, publicOnly = 1) if obj: if hasattr(obj,'customname') and obj.customname: source = _('"%s"') % obj.customname else: source = getattr(obj, 'name', res.getUnknownName()) else: source = _('N/A') else: source = _('-') text = '%s%s\n' % (text, _("Source: %s") % source) # location if locationID != Const.OID_NONE: obj = client.get(locationID, noUpdate = 1, publicOnly = 1) location = getattr(obj, 'name', res.getUnknownName()) else: location = _('-') text = '%s%s\n' % (text, _("Location: %s") % location) text = '%s%s\n' % (text, _("Severity: %s") % _(gdata.msgSeverity[sev])) text = '%s%s\n' % (text, _("Time: %s [%s]") % ( res.formatTime(turn), res.formatTime(turn - currTurn), )) text = '%s%s\n' % (text, "") text = '%s%s\n' % (text, getMsgText(msgID, data)) return text
def gotoObject(self,objIDs,bObjIDs): if len(objIDs) + len(bObjIDs) == 1: if len(objIDs) == 1: if self.selectobject: return objIDs[0] self.processAction(self.action, objIDs[0]) self.pressedObjIDs = [] else: if self.selectobject: return Const.OID_NONE self.showBuoyDlg.display(bObjIDs[0]) self.pressedBuoyObjIDs = [] else: # multiple objects -> post pop-up menu items = [] for objID in objIDs: obj = client.get(objID) if obj.type == Const.T_SYSTEM: name = getattr(obj, "name", None) name = _("System: %s [ID: %d]") % (name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_WORMHOLE: name = getattr(obj, "name", None) name = _("Worm hole: %s [ID: %d]") % (name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_PLANET: name = getattr(obj, "name", None) name = _("Planet: %s [ID: %d]") % (name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_FLEET: if hasattr(obj,'customname') and obj.customname: name = obj.customname else: name = getattr(obj, "name", None) name = _("Fleet: %s [ID: %d]") % (name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_ASTEROID: name = getattr(obj, "name", None) name = _("Asteroid: %s [ID: %d]") % (name or res.getUnknownName(), obj.oid) else: name = _("Unknown object [ID: %d]") % obj.oid item = ui.Item(name, action = "onObjectSelected", data = objID) items.append(item) for objID in bObjIDs: obj = client.get(objID) if obj.type == Const.T_SYSTEM: name = getattr(obj, "name", None) name = _("Buoy on system: %s [ID: %d]") % (name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_WORMHOLE: name = getattr(obj, "name", None) name = _("Buoy on worm hole: %s [ID: %d]") % (name or res.getUnknownName(), obj.oid) else: name = _("Buoy on unknown object [ID: %d]") % obj.oid item = ui.Item(name, action = "onBuoySelected", data = objID) items.append(item) self.popup.items = items self.popup.show() if self.selectobject: return Const.OID_NONE
def gotoObject(self, objIDs, bObjIDs): if len(objIDs) + len(bObjIDs) == 1: if len(objIDs) == 1: if self.selectobject: return objIDs[0] self.processAction(self.action, objIDs[0]) self.pressedObjIDs = [] else: if self.selectobject: return Const.OID_NONE self.showBuoyDlg.display(bObjIDs[0]) self.pressedBuoyObjIDs = [] else: # multiple objects -> post pop-up menu items = [] for objID in objIDs: obj = client.get(objID) if obj.type == Const.T_SYSTEM: name = getattr(obj, "name", None) name = _("System: %s [ID: %d]") % ( name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_WORMHOLE: name = getattr(obj, "name", None) name = _("Worm hole: %s [ID: %d]") % ( name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_PLANET: name = getattr(obj, "name", None) name = _("Planet: %s [ID: %d]") % ( name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_FLEET: if hasattr(obj, 'customname') and obj.customname: name = obj.customname else: name = getattr(obj, "name", None) name = _("Fleet: %s [ID: %d]") % ( name or res.getUnknownName(), obj.oid) else: name = _("Unknown object [ID: %d]") % obj.oid item = ui.Item(name, action="onObjectSelected", data=objID) items.append(item) for objID in bObjIDs: obj = client.get(objID) if obj.type == Const.T_SYSTEM: name = getattr(obj, "name", None) name = _("Buoy on system: %s [ID: %d]") % ( name or res.getUnknownName(), obj.oid) elif obj.type == Const.T_WORMHOLE: name = getattr(obj, "name", None) name = _("Buoy on worm hole: %s [ID: %d]") % ( name or res.getUnknownName(), obj.oid) else: name = _("Buoy on unknown object [ID: %d]") % obj.oid item = ui.Item(name, action="onBuoySelected", data=objID) items.append(item) self.popup.items = items self.popup.show() if self.selectobject: return Const.OID_NONE
def objIDList2Names(objIDs): names = [] for objID in objIDs: obj = client.get(objID, noUpdate = 1, publicOnly = 1) if hasattr(obj, 'owner') and obj.owner != obj.oid: try: owner = _(' (%s)') % client.get(obj.owner, noUpdate = 1, publicOnly = 1).name except AttributeError: owner = '' else: owner = '' text = _('%s%s') % (getattr(obj, 'name', res.getUnknownName()), owner) names.append(text) return string.join(names, ', ')
def objIDList2Names(objIDs): names = [] for objID in objIDs: obj = client.get(objID, noUpdate=1) if hasattr(obj, "owner") and obj.owner != obj.oid: try: owner = _(" (%s)") % client.get(obj.owner, noUpdate=1).name except AttributeError: owner = "" else: owner = "" text = _("%s%s") % (getattr(obj, "name", res.getUnknownName()), owner) names.append(text) return string.join(names, ", ")
def objIDList2Names(objIDs): names = [] for objID in objIDs: obj = client.get(objID, noUpdate=1) if hasattr(obj, 'owner') and obj.owner != obj.oid: try: owner = _(' (%s)') % client.get(obj.owner, noUpdate=1).name except AttributeError: owner = '' else: owner = '' text = _('%s%s') % (getattr(obj, 'name', res.getUnknownName()), owner) names.append(text) return string.join(names, ', ')
def precompute(self): system = client.get(self.systemID, noUpdate=1) self.unknown_mines = 0 self.my_mines = 0 if hasattr(system, 'hasmines'): if getattr(system, 'minefield', []): if len(system.minefield) > 0: self.my_mines = 1 if system.hasmines == 2: self.unknown_mines = 1 elif system.hasmines > 0: self.unknown_mines = 1 self.computeBuoy() self._starImg = None if hasattr(system, 'starClass'): self._starImg = res.getBigStarImg(system.starClass[1]) self._planetImgs = [] if hasattr(system, 'planets'): for planetID in system.planets: planet = client.get(planetID, noUpdate=1) if not planet: continue # image plType = getattr(planet, 'plType', 'X') img = res.getPlanetImg(plType, planet.oid + system.oid) #if plType != 'G': # ratio = planet.plDiameter / 19000.0 #else: # ratio = planet.plDiameter / 180000.0 #img2 = pygame.transform.scale(img, (int(ratio * img.get_width()), int(ratio * img.get_height()))) name = getattr(planet, 'name', res.getUnknownName()).split(' ')[-1] #rel = Const.REL_UNDEF if hasattr(planet, 'owner'): ownerID = planet.owner else: ownerID = Const.OID_NONE self._planetImgs.append( (planetID, img, name, res.getPlayerColor(ownerID)))
def precompute(self): system = client.get(self.systemID, noUpdate=1) self.unknown_mines = 0 self.my_mines = 0 if hasattr(system, "hasmines"): if hasattr(system, "minefield"): if len(system.minefield) > 0: self.my_mines = 1 if system.hasmines == 2: self.unknown_mines = 1 elif system.hasmines > 0: self.unknown_mines = 1 self.computeBuoy() self._starImg = None if hasattr(system, "starClass"): self._starImg = res.getBigStarImg(system.starClass[1]) self._planetImgs = [] if hasattr(system, "planets"): for planetID in system.planets: planet = client.get(planetID, noUpdate=1) if not planet: continue # image plType = getattr(planet, "plType", "X") img = res.getPlanetImg(plType, planet.oid + system.oid) # if plType != 'G': # ratio = planet.plDiameter / 19000.0 # else: # ratio = planet.plDiameter / 180000.0 # img2 = pygame.transform.scale(img, (int(ratio * img.get_width()), int(ratio * img.get_height()))) name = getattr(planet, "name", res.getUnknownName()).split(" ")[-1] # rel = REL_UNDEF if hasattr(planet, "owner"): ownerID = planet.owner else: ownerID = OID_NONE self._planetImgs.append((planetID, img, name, res.getPlayerColor(ownerID)))
def objID2Name(objID): obj = client.get(objID, noUpdate = 0, publicOnly = 1) return getattr(obj, 'name', res.getUnknownName())
def objID2Name(objID): obj = client.get(objID, noUpdate=0) return getattr(obj, "name", res.getUnknownName())
def objID2Name(objID): obj = client.get(objID, noUpdate=0) return getattr(obj, 'name', res.getUnknownName())