Convert database configs to JSON (#1998)

This is get over the shortcomings and failures of the old config system. Currently only applied to the DB configs because they're the ones fucking up.
This commit is contained in:
skull132
2017-03-26 16:29:08 +03:00
committed by GitHub
parent 65923fe4f0
commit 7e1f0d2285
3 changed files with 22 additions and 45 deletions
+11 -22
View File
@@ -410,7 +410,7 @@ var/inerror = 0
/hook/startup/proc/load_databases()
//Construct the database object from an init file.
dbcon = initialize_database_object("config/dbconfig.txt")
dbcon = initialize_database_object("config/dbconfig.json")
if (!setup_database_connection(dbcon))
world.log << "Your server failed to establish a connection with the feedback database."
@@ -425,31 +425,20 @@ var/inerror = 0
var/list/data = list("address", "port", "database", "login", "password")
var/list/Lines = file2list(filename)
var/list/Lines
if (!Lines)
try
Lines = json_decode(file2text(filename))
catch(var/exception/e)
error("Error reading database config file '[filename]': [e]")
return new/DBConnection()
if (!Lines || !Lines.len)
// Return dummy object for safety.
return new/DBConnection()
for (var/t in Lines)
if (!t)
continue
t = trim(t)
if (length(t) == 0)
continue
else if (copytext(t, 1, 2) == "#")
continue
var/pos = findtext(t, " ")
var/name = null
var/value = null
name = lowertext(copytext(t, 1, pos))
value = copytext(t, pos + 1)
if (!name)
continue
for (var/name in Lines)
var/value = Lines[name]
if (name in data)
data[name] = value