Name restrictions removed, settings check (...)

Name restrictions have been removed. It no longer force upon the user
the .Name() format. Settings are now checked every boot for consistency.
Slot machine now shows credits left every play
This commit is contained in:
Twentysix
2016-01-03 15:58:04 +01:00
parent bb96050eaf
commit cf5e07851b
3 changed files with 79 additions and 42 deletions

View File

@@ -1,6 +1,8 @@
import json
import logging
default_settings = ('{"TRIVIA_ADMIN_ONLY": false, "EDIT_CC_ADMIN_ONLY": false, "PASSWORD": "PASSWORDHERE", "FILTER": true, "CUSTOMCOMMANDS": true, ' +
'"TRIVIAMAXSCORE": 10, "TRIVIADELAY": 15, "LOGGING": true, "EMAIL": "EMAILHERE", "ADMINROLE": "Transistor"}')
logger = logging.getLogger("__main__")
@@ -39,4 +41,33 @@ def loadWords():
with open("words.dat", "r") as f:
for line in f:
w += line
return w
return w
def loadAndCheckSettings():
to_delete = []
try:
current_settings = fileIO("settings.json", "load")
default = json.loads(default_settings)
if current_settings.keys() != default.keys():
logger.warning("Something wrong detected with settings.json. Starting check...")
for field in default:
if field not in current_settings:
logger.info("Adding " + field + " field.")
current_settings[field] = default[field]
for field in current_settings:
if field not in default:
logger.info("Removing " + field + " field.")
to_delete.append(field)
for field in to_delete:
del current_settings[field]
logger.warning("Your settings.json was deprecated (missing or useless fields detected). I fixed it. " +
"If the file was missing any field I've added it and put default values. You might want to check it.")
fileIO("settings.json", "save", current_settings)
return current_settings
except IOError:
fileIO("settings.json", "save", json.loads(default_settings))
logger.error("Your settings.json is missing. I've created a new one. Edit it with your settings and restart me.")
exit(1)
except:
logger.error("Your settings.json seems to be invalid. Check it. If you're unable to fix it delete it and I'll create a new one the next start.")
exit(1)