(value, unitName, unitDisplayName)
| 206 | |
| 207 | @staticmethod |
| 208 | def TranslateValueUnit(value, unitName, unitDisplayName): |
| 209 | def itemIDCallback(): |
| 210 | item = Market.getInstance().getItem(value) |
| 211 | return "%s (%d)" % (item.name, value) if item is not None else str(value) |
| 212 | |
| 213 | def groupIDCallback(): |
| 214 | group = Market.getInstance().getGroup(value) |
| 215 | return "%s (%d)" % (group.name, value) if group is not None else str(value) |
| 216 | |
| 217 | def attributeIDCallback(): |
| 218 | attribute = Attribute.getInstance().getAttributeInfo(value) |
| 219 | return "%s (%d)" % (attribute.name.capitalize(), value) |
| 220 | |
| 221 | trans = { |
| 222 | "Inverse Absolute Percent": (lambda: (1 - value) * 100, unitName), |
| 223 | "Inversed Modifier Percent": (lambda: (1 - value) * 100, unitName), |
| 224 | "Modifier Percent": (lambda: ("%+.2f" if ((value - 1) * 100) % 1 else "%+d") % ((value - 1) * 100), unitName), |
| 225 | "Volume": (lambda: value, "m\u00B3"), |
| 226 | "Sizeclass": (lambda: value, ""), |
| 227 | "Absolute Percent": (lambda: (value * 100), unitName), |
| 228 | "Milliseconds": (lambda: value / 1000.0, unitName), |
| 229 | "typeID": (itemIDCallback, ""), |
| 230 | "groupID": (groupIDCallback, ""), |
| 231 | "attributeID": (attributeIDCallback, "") |
| 232 | } |
| 233 | |
| 234 | override = trans.get(unitDisplayName) |
| 235 | if override is not None: |
| 236 | v = override[0]() |
| 237 | if isinstance(v, str): |
| 238 | fvalue = v |
| 239 | elif isinstance(v, (int, float)): |
| 240 | fvalue = formatAmount(v, 3, 0, 0) |
| 241 | else: |
| 242 | fvalue = v |
| 243 | return "%s %s" % (fvalue, override[1]) |
| 244 | else: |
| 245 | return "%s %s" % (formatAmount(value, 3, 0), unitName) |
no test coverage detected