Konami code.
[naja.git] / naja / options.py
index 816d91ca3c29f87329a2b8f6b9428d899e851280..4c5abea84372449ce6fe57f6390962fb32fbf4b6 100644 (file)
@@ -1,5 +1,6 @@
 import optparse
 import os
+import sys
 
 from naja.attrdict import AttrDict
 from naja.constants import DEFAULTS
@@ -28,8 +29,29 @@ def parse_args(args):
                       dest='music', action='store_false', default=True,
                       help='Disable music (but not sound)')
 
+    parser.add_option("--save-location", default=_get_default_save_location(),
+                      dest="save_location", help="Saved game location")
+
+    if options.debug:
+        parser.add_option('--initial-bits', type=int,
+                          help='Initial player bits')
+
     opts, _ = parser.parse_args(args)
 
     for k in DEFAULTS:
         if getattr(opts, k, None) is not None:
             options[k] = getattr(opts, k)
+    options['save_location'] = opts.save_location
+    options['cheat_enabled'] = False
+
+
+def _get_default_save_location():
+    """Return a default save game location."""
+    app = "naja"
+    if sys.platform.startswith("win"):
+        if "APPDATA" in os.environ:
+            return os.path.join(os.environ["APPDATA"], app)
+        return os.path.join(os.path.expanduser("~"), "." + app)
+    elif 'XDG_DATA_HOME' in os.environ:
+        return os.path.join(os.environ["XDG_DATA_HOME"], app)
+    return os.path.join(os.path.expanduser("~"), ".local", "share", app)