json save and load without utf-8
[rainbowstream.git] / rainbowstream / config.py
index 41312952fe8419b489df5f3be84cfef133e8650e..e6c0de2a9e882a26ba62102b2fdcaf1c79e8113b 100644 (file)
@@ -2,6 +2,7 @@ import json
 import re
 import os
 import os.path
+from io import open
 from collections import OrderedDict
 
 # Regular expression for comments in config file
@@ -42,15 +43,12 @@ def get_all_config():
     """
     Get all config
     """
-    path = os.environ.get(
-        'HOME',
-        os.environ.get(
-            'USERPROFILE',
-            '')) + os.sep + '.rainbow_config.json'
+    path = os.path.expanduser("~") + os.sep + '.rainbow_config.json'
     data = load_config(path)
     # Hard to set from prompt
     data.pop('ONLY_LIST', None)
     data.pop('IGNORE_LIST', None)
+    data.pop('FORMAT', None)
     return data
 
 
@@ -86,11 +84,7 @@ def set_config(key, value):
     elif value.lower() == 'false':
         value = False
     # Fix up
-    path = os.environ.get(
-        'HOME',
-        os.environ.get(
-            'USERPROFILE',
-            '')) + os.sep + '.rainbow_config.json'
+    path = os.path.expanduser("~") + os.sep + '.rainbow_config.json'
     data = {}
     try:
         data = load_config(path)
@@ -113,11 +107,7 @@ def delete_config(key):
     """
     Delete a config key
     """
-    path = os.environ.get(
-        'HOME',
-        os.environ.get(
-            'USERPROFILE',
-            '')) + os.sep + '.rainbow_config.json'
+    path = os.path.expanduser("~") + os.sep + '.rainbow_config.json'
     data = load_config(path)
     # Drop key
     if key in data and key in c:
@@ -139,11 +129,7 @@ def reload_config():
     """
     Reload config
     """
-    rainbow_config = os.environ.get(
-        'HOME',
-        os.environ.get(
-            'USERPROFILE',
-            '')) + os.sep + '.rainbow_config.json'
+    rainbow_config = os.path.expanduser("~") + os.sep + '.rainbow_config.json'
     try:
         data = load_config(rainbow_config)
         for d in data:
@@ -166,11 +152,7 @@ def init_config():
     except:
         pass
     # Load user's config
-    rainbow_config = os.environ.get(
-        'HOME',
-        os.environ.get(
-            'USERPROFILE',
-            '')) + os.sep + '.rainbow_config.json'
+    rainbow_config = os.path.expanduser("~") + os.sep + '.rainbow_config.json'
     try:
         data = load_config(rainbow_config)
         for d in data: