暂无描述

utils.py 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # -- coding: utf-8 --
  2. """simditor utils."""
  3. from __future__ import absolute_import
  4. import os.path
  5. import random
  6. import string
  7. from django.core.files.storage import default_storage
  8. from django.template.defaultfilters import slugify
  9. class NotAnImageException(Exception):
  10. pass
  11. def get_random_string():
  12. """Get random string."""
  13. return ''.join(random.sample(string.ascii_lowercase * 6, 6))
  14. def get_slugified_name(filename):
  15. """get_slugified_name."""
  16. slugified = slugify(filename)
  17. return slugified or get_random_string()
  18. def slugify_filename(filename):
  19. """ Slugify filename """
  20. name, ext = os.path.splitext(filename)
  21. slugified = get_slugified_name(name)
  22. return slugified + ext
  23. def get_media_url(path):
  24. """
  25. Determine system file's media URL.
  26. """
  27. return default_storage.url(path)
  28. def is_valid_image_extension(file_path):
  29. """is_valid_image_extension."""
  30. valid_extensions = ['.jpeg', '.jpg', '.gif', '.png']
  31. _, extension = os.path.splitext(file_path)
  32. return extension.lower() in valid_extensions