Source code for eggplant.core.utils

import os
import uuid
from functools import wraps

from django.conf import settings
from django.contrib.sites.models import Site
from django.core.urlresolvers import reverse


[docs]def absolute_url_reverse(url_name=None, **kwargs): domain = Site.objects.get_current().domain path = '/' if url_name: path = reverse(url_name, **kwargs) full_url = "{}://{}{}".format(settings.DEFAULT_HTTP_PROTOCOL, domain, path) return full_url
[docs]def generate_upload_path(instance, filename, dirname=None): """ Generate path with random file name for FileField. """ ext = os.path.splitext(filename)[1].lstrip('.') rand_name = "{}.{}".format(uuid.uuid4().hex, ext) if dirname: rand_name = "{}/{}".format(dirname, rand_name) return rand_name
[docs]def disable_for_loaddata(signal_handler): """ Decorator that turns off signal handlers when loading fixture data. """ @wraps(signal_handler) def wrapper(*args, **kwargs): if kwargs.get('raw'): return signal_handler(*args, **kwargs) return wrapper