tools.py 734 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from functools import wraps
  2. from time import time
  3. def is_video(ext: str):
  4. """
  5. Returns true if ext exists in
  6. allowed_exts for video files.
  7. Args:
  8. ext:
  9. Returns:
  10. """
  11. allowed_exts = ('.mp4', '.webm', '.ogg', '.avi', '.wmv', '.mkv', '.3gp')
  12. return any((ext.endswith(x) for x in allowed_exts))
  13. def tik_tok(func):
  14. """
  15. keep track of time for each process.
  16. Args:
  17. func:
  18. Returns:
  19. """
  20. @wraps(func)
  21. def _time_it(*args, **kwargs):
  22. start = time()
  23. try:
  24. return func(*args, **kwargs)
  25. finally:
  26. end_ = time()
  27. print("time: {:.03f}s, fps: {:.03f}".format(end_ - start, 1 / (end_ - start)))
  28. return _time_it