6
0

RowWrapper.py 1.0 KB

1234567891011121314151617181920212223242526
  1. class RowWrapper:
  2. def __init__(self, row: list):
  3. self.local_occurrence = self.__empty_to_none(row[0])
  4. self.rarity = self.__empty_to_none(row[1])
  5. self.superfamily = self.__empty_to_none(row[2])
  6. self.family = self.__empty_to_default(row[3], self.superfamily)
  7. self.subfamily = self.__empty_to_default(row[4], self.family)
  8. self.tribe = self.__empty_to_default(row[5], self.subfamily)
  9. self.kr_number = self.__empty_to_none(row[9])
  10. self.genus = self.__empty_to_default(row[10], self.tribe)
  11. self.species = self.__empty_to_none(row[11])
  12. def rarity_is_larger_than(self, limit: int):
  13. return self.rarity is not None and self.rarity.isnumeric() and limit < int(self.rarity)
  14. @staticmethod
  15. def __empty_to_none(val: str):
  16. return val if val.strip() else None
  17. @staticmethod
  18. def __empty_to_default(val: str, default: str):
  19. val = RowWrapper.__empty_to_none(val)
  20. if val is not None:
  21. return val
  22. return default