pep.py/helpers/configHelper.py

135 lines
3.8 KiB
Python
Raw Normal View History

2016-04-19 17:40:59 +00:00
import os
import configparser
2016-09-02 15:45:10 +00:00
class config:
2016-04-19 17:40:59 +00:00
# Check if config.ini exists and load/generate it
def __init__(self, file):
2016-04-19 17:40:59 +00:00
"""
Initialize a config object
file -- filename
2016-04-19 17:40:59 +00:00
"""
self.config = configparser.ConfigParser()
self.default = True
self.fileName = file
2016-04-19 17:40:59 +00:00
if os.path.isfile(self.fileName):
# config.ini found, load it
self.config.read(self.fileName)
self.default = False
else:
# config.ini not found, generate a default one
self.generateDefaultConfig()
self.default = True
# Check if config.ini has all needed the keys
def checkConfig(self):
"""
Check if this config has the required keys
return -- True if valid, False if not
"""
try:
# Try to get all the required keys
self.config.get("db","host")
self.config.get("db","username")
self.config.get("db","password")
self.config.get("db","database")
self.config.get("db","workers")
2016-04-19 17:40:59 +00:00
self.config.get("server","port")
self.config.get("server","threads")
self.config.get("server","gzip")
self.config.get("server","gziplevel")
self.config.get("server","cikey")
self.config.get("server","cloudflare")
self.config.get("mirror","apiurl")
self.config.get("mirror","apikey")
self.config.get("debug","enable")
self.config.get("debug","packets")
self.config.get("debug","time")
2016-04-19 17:40:59 +00:00
2016-06-15 17:01:00 +00:00
self.config.get("sentry","enable")
2016-07-14 13:38:28 +00:00
self.config.get("sentry","banchodns")
self.config.get("sentry","ircdns")
2016-06-15 17:01:00 +00:00
self.config.get("discord","enable")
self.config.get("discord","boturl")
2016-06-02 17:22:02 +00:00
self.config.get("discord","devgroup")
2016-10-06 21:06:59 +00:00
self.config.get("datadog", "enable")
self.config.get("datadog", "apikey")
self.config.get("datadog", "appkey")
self.config.get("irc","enable")
self.config.get("irc","port")
2016-09-04 10:36:21 +00:00
self.config.get("irc","hostname")
self.config.get("localize","enable")
self.config.get("localize","ipapiurl")
2016-04-19 17:40:59 +00:00
return True
except:
return False
def generateDefaultConfig(self):
"""
Open and set default keys for that config file
"""
2016-04-19 17:40:59 +00:00
# Open config.ini in write mode
f = open(self.fileName, "w")
# Set keys to config object
self.config.add_section("db")
self.config.set("db", "host", "localhost")
self.config.set("db", "username", "root")
self.config.set("db", "password", "")
self.config.set("db", "database", "ripple")
self.config.set("db", "workers", "4")
2016-04-19 17:40:59 +00:00
self.config.add_section("server")
self.config.set("server", "port", "5001")
self.config.set("server", "threads", "16")
self.config.set("server", "gzip", "1")
self.config.set("server", "gziplevel", "6")
self.config.set("server", "cikey", "changeme")
self.config.set("server", "cloudflare", "0")
2016-04-19 17:40:59 +00:00
self.config.add_section("mirror")
self.config.set("mirror", "apiurl", "http://storage.ripple.moe")
self.config.set("mirror", "apikey", "anotherkey")
self.config.add_section("debug")
self.config.set("debug", "enable", "0")
self.config.set("debug", "packets", "0")
self.config.set("debug", "time", "0")
2016-04-19 17:40:59 +00:00
2016-06-15 17:01:00 +00:00
self.config.add_section("sentry")
self.config.set("sentry", "enable", "0")
2016-07-14 13:38:28 +00:00
self.config.set("sentry", "banchodns", "")
self.config.set("sentry", "ircdns", "")
2016-06-15 17:01:00 +00:00
self.config.add_section("discord")
self.config.set("discord", "enable", "0")
self.config.set("discord", "boturl", "")
2016-06-02 17:22:02 +00:00
self.config.set("discord", "devgroup", "")
2016-10-06 21:06:59 +00:00
self.config.add_section("datadog")
self.config.set("datadog", "enable")
self.config.set("datadog", "apikey")
self.config.set("datadog", "appkey")
self.config.add_section("irc")
self.config.set("irc", "enable", "1")
self.config.set("irc", "port", "6667")
2016-09-04 10:36:21 +00:00
self.config.set("irc", "hostname", "ripple")
self.config.add_section("localize")
self.config.set("localize", "enable", "1")
self.config.set("localize", "ipapiurl", "http://ip.zxq.co")
2016-04-19 17:40:59 +00:00
# Write ini to file and close
self.config.write(f)
f.close()