pep.py/helpers/configHelper.py

115 lines
2.9 KiB
Python

import os
import configparser
class config:
"""
config.ini object
config -- list with ini data
default -- if true, we have generated a default config.ini
"""
config = configparser.ConfigParser()
fileName = "" # config filename
default = True
# Check if config.ini exists and load/generate it
def __init__(self, __file):
"""
Initialize a config object
__file -- filename
"""
self.fileName = __file
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")
self.config.get("server","port")
self.config.get("server","threads")
self.config.get("server","gzip")
self.config.get("server","gziplevel")
self.config.get("server","localize")
self.config.get("server","cikey")
self.config.get("server","cloudflare")
self.config.get("debug","enable")
self.config.get("debug","packets")
self.config.get("debug","time")
self.config.get("sentry","enable")
self.config.get("sentry","dns")
self.config.get("discord","enable")
self.config.get("discord","boturl")
self.config.get("discord","devgroup")
return True
except:
return False
# Generate a default config.ini
def generateDefaultConfig(self):
"""Open and set default keys for that config file"""
# 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")
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", "localize", "1")
self.config.set("server", "cikey", "changeme")
self.config.set("server", "cloudflare", "0")
self.config.add_section("debug")
self.config.set("debug", "enable", "0")
self.config.set("debug", "packets", "0")
self.config.set("debug", "time", "0")
self.config.add_section("sentry")
self.config.set("sentry", "enable", "0")
self.config.set("sentry", "dns", "")
self.config.add_section("discord")
self.config.set("discord", "enable", "0")
self.config.set("discord", "boturl", "")
self.config.set("discord", "devgroup", "")
# Write ini to file and close
self.config.write(f)
f.close()