示例#1
0
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
示例#2
0
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
示例#3
0
 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
示例#4
0
 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
示例#5
0
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, ', ')
示例#6
0
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, ", ")
示例#7
0
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)))
示例#9
0
 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)))
示例#10
0
def objID2Name(objID):
	obj = client.get(objID, noUpdate = 0, publicOnly = 1)
	return getattr(obj, 'name', res.getUnknownName())
示例#11
0
def objID2Name(objID):
    obj = client.get(objID, noUpdate=0)
    return getattr(obj, "name", res.getUnknownName())
示例#12
0
def objID2Name(objID):
    obj = client.get(objID, noUpdate=0)
    return getattr(obj, 'name', res.getUnknownName())