diff --git a/gedgo/gedcom_update.py b/gedgo/gedcom_update.py index bb6806c..5f78c1c 100644 --- a/gedgo/gedcom_update.py +++ b/gedgo/gedcom_update.py @@ -12,15 +12,12 @@ from PIL import Image -gedcom_storage = None +from gedgo.storages import gedcom_storage @transaction.atomic def update(g, file_name, verbose=True): # Prevent circular dependencies - global gedcom_storage - from gedgo.views.util import gedcom_storage as gs - gedcom_storage = gs if verbose: print 'Parsing content' parsed = GedcomParser(file_name) diff --git a/gedgo/storages.py b/gedgo/storages.py index 3728714..d5a2c58 100644 --- a/gedgo/storages.py +++ b/gedgo/storages.py @@ -1,6 +1,7 @@ from django.core.files.storage import Storage from django.utils._os import safe_join from django.conf import settings +from django.utils.module_loading import import_string import os from dropbox.client import DropboxClient @@ -54,3 +55,10 @@ def size(self, name): def url(self, name): return self.client.media(self.path(name))['url'] + + +research_storage = import_string(settings.GEDGO_RESEARCH_FILE_STORAGE)( + location=settings.GEDGO_RESEARCH_FILE_ROOT) + +gedcom_storage = import_string(settings.GEDGO_GEDCOM_FILE_STORAGE)( + location=settings.GEDGO_GEDCOM_FILE_ROOT) diff --git a/gedgo/views/research.py b/gedgo/views/research.py index d6d1694..c4610c5 100644 --- a/gedgo/views/research.py +++ b/gedgo/views/research.py @@ -4,7 +4,8 @@ from os import path import mimetypes -from gedgo.views.util import serve_content, render, research_storage as storage +from gedgo.views.util import serve_content, render +from gedgo.storages import research_storage as storage @login_required diff --git a/gedgo/views/util.py b/gedgo/views/util.py index 8f2546b..3edb2f8 100644 --- a/gedgo/views/util.py +++ b/gedgo/views/util.py @@ -9,24 +9,14 @@ from django.contrib import messages from django.shortcuts import render_to_response from django.template import RequestContext -from django.utils.module_loading import import_string from gedgo.models import BlogPost, Documentary from gedgo.forms import CommentForm +from gedgo.storages import gedcom_storage, research_storage from os import path import mimetypes -research_storage = None -if getattr(settings, 'GEDGO_RESEARCH_FILE_STORAGE', None): - research_storage = import_string(settings.GEDGO_RESEARCH_FILE_STORAGE)( - location=settings.GEDGO_RESEARCH_FILE_ROOT) - -gedcom_storage = None -if getattr(settings, 'GEDGO_GEDCOM_FILE_STORAGE', None): - gedcom_storage = import_string(settings.GEDGO_GEDCOM_FILE_STORAGE)( - location=settings.GEDGO_GEDCOM_FILE_ROOT) - STORAGES = { 'research': research_storage, diff --git a/settings.py b/settings.py index 50ed578..d29fb3f 100644 --- a/settings.py +++ b/settings.py @@ -29,7 +29,7 @@ USE_L10N = True USE_TZ = True -MEDIA_ROOT = '/src/files/' +MEDIA_ROOT = '/src/files/default/' MEDIA_URL = '/gedgo/media/' STATIC_ROOT = '' @@ -102,6 +102,11 @@ GEDGO_SENDFILE_HEADER = None GEDGO_SITE_TITLE = 'My Genealogy Site' GEDGO_REDIS_SERVER = 'redis' +GEDGO_RESEARCH_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' +GEDGO_RESEARCH_FILE_ROOT = '/src/files/gedcom/' +GEDGO_GEDCOM_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' +GEDGO_GEDCOM_FILE_ROOT = '/src/files/research/' +GEDGO_SHOW_RESEARCH_FILES = True BROKER_BACKEND = 'redis' BROKER_URL = 'redis://redis:6379/0'