utils.py 728B

123456789101112131415161718192021222324
  1. from synergine2.base import BaseObject
  2. class ChunkManager(BaseObject):
  3. def __init__(self, chunks_numbers: int):
  4. self._chunks_numbers = chunks_numbers
  5. def make_chunks(self, data: list) -> list:
  6. if self._chunks_numbers == 1:
  7. return [data]
  8. i, j, x = len(data), 0, []
  9. for k in range(self._chunks_numbers):
  10. a, j = j, j + (i + k) // self._chunks_numbers
  11. x.append(data[a:j])
  12. return x
  13. def get_mechanisms_classes(mechanized) -> ['Mechanisms']:
  14. mechanisms_classes = []
  15. for behaviour_class in mechanized.behaviours_classes:
  16. mechanisms_classes.extend(behaviour_class.use)
  17. return list(set(mechanisms_classes)) # Remove duplicates