def number_sort_key(self, val): try: p = 1 if val and val.endswith('B'): p = 1 << (10 * self.SIZE_SUFFIX_MAP.get(val[-2:-1], 0)) val = val[:(-2 if p > 1 else -1)].strip() val = atof(val) * p except (TypeError, AttributeError, ValueError, KeyError): val = 0.0 return val