From f66f0b03a5e0cdb5c5a569b09820b321acb33ff1 Mon Sep 17 00:00:00 2001 From: dpedu Date: Thu, 18 Jun 2015 20:43:17 -0700 Subject: [PATCH] Allow json for native module configs --- bin/pyircbot | 1 - pyircbot/modulebase.py | 6 +++--- pyircbot/pyircbot.py | 10 ++++++++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bin/pyircbot b/bin/pyircbot index 3c27c12..27120ff 100755 --- a/bin/pyircbot +++ b/bin/pyircbot @@ -2,7 +2,6 @@ import os import sys import logging -import yaml from optparse import OptionParser from pyircbot import PyIRCBot diff --git a/pyircbot/modulebase.py b/pyircbot/modulebase.py index 94ff7fa..038b05e 100644 --- a/pyircbot/modulebase.py +++ b/pyircbot/modulebase.py @@ -8,7 +8,7 @@ import logging import os -import yaml +from .pyircbot import PyIRCBot class ModuleBase: """All modules will extend this class @@ -47,8 +47,8 @@ class ModuleBase: def loadConfig(self): """Loads this module's config into self.config""" configPath = self.bot.getConfigPath(self.moduleName) - if os.path.exists( configPath ): - self.config = yaml.load(open(configPath, 'r')) + if not configPath == None: + self.config = PyIRCBot.load(configPath) def ondisable(self): """Called when the module should be disabled. Your module should do any sort diff --git a/pyircbot/pyircbot.py b/pyircbot/pyircbot.py index 90c0229..e993b42 100644 --- a/pyircbot/pyircbot.py +++ b/pyircbot/pyircbot.py @@ -11,7 +11,6 @@ import time import sys from pyircbot.rpc import BotRPC from pyircbot.irccore import IRCCore -from pyircbot import modulebase import os.path class PyIRCBot: @@ -291,7 +290,14 @@ class PyIRCBot: :param moduleName: the module who's config file we want :type moduleName: str""" - return "%s/config/%s.yml" % (self.botconfig["bot"]["datadir"], moduleName) + + basepath = "%s/config/%s" % (self.botconfig["bot"]["datadir"], moduleName) + + if os.path.exists("%s.yml"%basepath): + return "%s.yml"%basepath + elif os.path.exists("%s.json"%basepath): + return "%s.json"%basepath + return None " Utility methods " @staticmethod