Make a mediagoblin.ini file for the user if needed.
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sat, 11 Oct 2014 00:35:09 +0000 (19:35 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sat, 11 Oct 2014 00:35:09 +0000 (19:35 -0500)
This is to prevent our docs from confusing people in this
transitionary time period...

mediagoblin/gmg_commands/__init__.py

index 22fef91cb430bca1a329f6d04cbc82c663dbb6c5..d8d982b13ddfbd142fde5b3134e12a51033b4d9c 100644 (file)
 
 import argparse
 import os
+import shutil
 
 import six
 
 from mediagoblin.tools.common import import_component
 
+import logging
+_log = logging.getLogger(__name__)
+logging.basicConfig()
+
 
 SUBCOMMAND_MAP = {
     'shell': {
@@ -127,6 +132,27 @@ def main_cli():
         else:
             args.conf_file = 'mediagoblin.ini'
 
+    # This is a hopefully TEMPORARY hack for adding a mediagoblin.ini
+    # if none exists, to make up for a deficiency as we are migrating
+    # our docs to the new "no mediagoblin.ini by default" workflow.
+    # Normally, the docs should provide instructions for this, but
+    # since 0.7.1 docs say "install from master!" and yet we removed
+    # mediagoblin.ini, we need to cover our bases...
+
+    parent_directory = os.path.split(os.path.abspath(args.conf_file))[0]
+    if os.path.split(args.conf_file)[1] == 'mediagoblin.ini' \
+       and not os.path.exists(args.conf_file) \
+       and os.path.exists(
+           os.path.join(
+               parent_directory, 'mediagoblin.example.ini')):
+        # Do the copy-over of the mediagoblin config for the user
+        _log.warning(
+            "No mediagoblin.ini found and no other path given, "
+            "so making one for you.")
+        shutil.copy(
+            os.path.join(parent_directory, "mediagoblin.example.ini"),
+            os.path.join(parent_directory, "mediagoblin.ini"))
+
     args.func(args)