Fixes #2615
[redakcja.git] / redakcja / manage.py
index 1fc25dd..7647675 100755 (executable)
@@ -1,18 +1,26 @@
 #!/usr/bin/env python
 from django.core.management import execute_manager
+
+import logging
+import sys
+import os
+
+logging.basicConfig(level=logging.DEBUG, stream=sys.stderr)
+
+PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))
+sys.path += [os.path.realpath(os.path.join(*x)) for x in (
+        (PROJECT_ROOT, '..'),
+        (PROJECT_ROOT, '..', 'apps'),
+        (PROJECT_ROOT, '..', 'lib/librarian'),
+        (PROJECT_ROOT, '..', 'lib')
+)]
+
 try:
-    import settings  # Assumed to be in the same directory.
+    import localsettings  # Assumed to be in the same directory.
 except ImportError:
+    logging.exception("Failed to import settings")
     import sys
-    sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
     sys.exit(1)
 
 if __name__ == "__main__":
-    # Append lib and apps directories to PYTHONPATH
-    from os import path
-    import sys
-
-    PROJECT_ROOT = path.realpath(path.dirname(__file__))
-    sys.path += [PROJECT_ROOT + '/../apps', PROJECT_ROOT + '/../lib']
-
-    execute_manager(settings)
+    execute_manager(localsettings)