uploadto.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from django.utils.crypto import get_random_string
  2. def generate_theme_dirname():
  3. return get_random_string(8)
  4. def upload_css_source_to(instance, filename):
  5. return "themes/%s/css/%s" % (instance.theme.dirname, filename)
  6. def upload_css_to(instance, filename):
  7. filename = filename.replace(".", ".%s." % instance.hash, 1)
  8. return "themes/%s/css/%s" % (instance.theme.dirname, filename)
  9. def upload_font_to(instance, filename):
  10. filename = filename.replace(".", ".%s." % instance.hash, 1)
  11. return "themes/%s/font/%s" % (instance.theme.dirname, filename)
  12. def upload_image_to(instance, filename):
  13. filename = filename.replace(".", ".%s." % instance.hash, 1)
  14. return "themes/%s/media/%s" % (instance.theme.dirname, filename)
  15. def upload_image_thumbnail_to(instance, filename):
  16. return "themes/%s/media/%s" % (instance.theme.dirname, filename)
  17. def add_hash_to_filename(hash, filename):
  18. if ".%s." % hash in filename:
  19. return filename
  20. extension_start = filename.rfind(".")
  21. return "%s.%s%s" % (filename[:extension_start], hash, filename[extension_start:])