mirror of
https://github.com/SpiceBot/SpiceBot.git
synced 2026-11-12 22:49:53 -05:00
fetch config directories
This commit is contained in:
parent
ef4bd6078c
commit
55c5e32df9
@ -13,6 +13,7 @@ import aiml
|
|||||||
|
|
||||||
from .Database import db as botdb
|
from .Database import db as botdb
|
||||||
from .Config import config as botconfig
|
from .Config import config as botconfig
|
||||||
|
from .Read import read as botread
|
||||||
|
|
||||||
import spicemanip
|
import spicemanip
|
||||||
|
|
||||||
@ -59,16 +60,7 @@ class SpiceBot_AI():
|
|||||||
self.save_brain()
|
self.save_brain()
|
||||||
|
|
||||||
def load_brain(self):
|
def load_brain(self):
|
||||||
import sopel_modules
|
braindirs = botread.get_config_dirs("SpiceBot_AI")
|
||||||
braindirs = []
|
|
||||||
for plugin_dir in set(sopel_modules.__path__):
|
|
||||||
configsdir = os.path.join(plugin_dir, "SpiceBot_Configs")
|
|
||||||
aimldir = os.path.join(configsdir, "SpiceBot_AI")
|
|
||||||
braindirs.append(aimldir)
|
|
||||||
|
|
||||||
if len(botconfig.SpiceBot_AI.extra):
|
|
||||||
for extrabraindir in botconfig.SpiceBot_AI.extra:
|
|
||||||
braindirs.append(extrabraindir)
|
|
||||||
|
|
||||||
# learn directories
|
# learn directories
|
||||||
self.learn(braindirs)
|
self.learn(braindirs)
|
||||||
|
|||||||
@ -6,20 +6,14 @@ This is the SpiceBot JSON Commands system.
|
|||||||
This Class stores commands in an easy to access manner
|
This Class stores commands in an easy to access manner
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
|
||||||
|
|
||||||
from sopel.config.types import StaticSection, ListAttribute
|
from sopel.config.types import StaticSection, ListAttribute
|
||||||
import sopel_modules
|
|
||||||
|
|
||||||
from .Config import config as botconfig
|
from .Config import config as botconfig
|
||||||
from .Read import read as botread
|
from .Read import read as botread
|
||||||
from .Commands import commands as botcommands
|
from .Commands import commands as botcommands
|
||||||
|
|
||||||
import spicemanip
|
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from fake_useragent import UserAgent
|
from fake_useragent import UserAgent
|
||||||
from lxml import html
|
|
||||||
import urllib
|
import urllib
|
||||||
|
|
||||||
|
|
||||||
@ -40,15 +34,7 @@ class BotJSONCommands():
|
|||||||
"feeds", "search"
|
"feeds", "search"
|
||||||
]
|
]
|
||||||
|
|
||||||
dir_to_scan = []
|
dir_to_scan = botread.get_config_dirs("SpiceBot_DictComs")
|
||||||
for plugin_dir in set(sopel_modules.__path__):
|
|
||||||
configsdir = os.path.join(plugin_dir, "SpiceBot_Configs")
|
|
||||||
gifcfgdir = os.path.join(configsdir, "SpiceBot_DictComs")
|
|
||||||
dir_to_scan.append(gifcfgdir)
|
|
||||||
|
|
||||||
if len(botconfig.SpiceBot_DictComs.extra):
|
|
||||||
for extragifcfgdir in botconfig.SpiceBot_DictComs.extra:
|
|
||||||
dir_to_scan.append(extragifcfgdir)
|
|
||||||
|
|
||||||
valid_dictcom_dict = botread.json_to_dict(dir_to_scan, "Dictionary Commands", "SpiceBot_DictComs")
|
valid_dictcom_dict = botread.json_to_dict(dir_to_scan, "Dictionary Commands", "SpiceBot_DictComs")
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,6 @@ from __future__ import unicode_literals, absolute_import, division, print_functi
|
|||||||
"""How to handle gifs"""
|
"""How to handle gifs"""
|
||||||
|
|
||||||
from sopel.config.types import StaticSection, ValidatedAttribute, ListAttribute
|
from sopel.config.types import StaticSection, ValidatedAttribute, ListAttribute
|
||||||
import sopel_modules
|
|
||||||
|
|
||||||
from .Config import config as botconfig
|
from .Config import config as botconfig
|
||||||
from .Read import read as botread
|
from .Read import read as botread
|
||||||
@ -11,7 +10,6 @@ from .Commands import commands as botcommands
|
|||||||
|
|
||||||
import spicemanip
|
import spicemanip
|
||||||
|
|
||||||
import os
|
|
||||||
from fake_useragent import UserAgent
|
from fake_useragent import UserAgent
|
||||||
import urllib
|
import urllib
|
||||||
import random
|
import random
|
||||||
@ -36,15 +34,7 @@ class BotGif():
|
|||||||
self.header = {'User-Agent': str(UserAgent().chrome)}
|
self.header = {'User-Agent': str(UserAgent().chrome)}
|
||||||
self.valid_api = {}
|
self.valid_api = {}
|
||||||
|
|
||||||
dir_to_scan = []
|
dir_to_scan = botread.get_config_dirs("SpiceBot_Gif")
|
||||||
for plugin_dir in set(sopel_modules.__path__):
|
|
||||||
configsdir = os.path.join(plugin_dir, "SpiceBot_Configs")
|
|
||||||
gifcfgdir = os.path.join(configsdir, "SpiceBot_Gif")
|
|
||||||
dir_to_scan.append(gifcfgdir)
|
|
||||||
|
|
||||||
if len(botconfig.SpiceBot_Gif.extra):
|
|
||||||
for extragifcfgdir in botconfig.SpiceBot_Gif.extra:
|
|
||||||
dir_to_scan.append(extragifcfgdir)
|
|
||||||
|
|
||||||
valid_gif_api_dict = botread.json_to_dict(dir_to_scan, "Gif API", "SpiceBot_Gif")
|
valid_gif_api_dict = botread.json_to_dict(dir_to_scan, "Gif API", "SpiceBot_Gif")
|
||||||
|
|
||||||
|
|||||||
@ -17,15 +17,27 @@ class BotRead():
|
|||||||
|
|
||||||
def get_config_dirs(self, config_dir_name):
|
def get_config_dirs(self, config_dir_name):
|
||||||
dir_to_scan = []
|
dir_to_scan = []
|
||||||
|
|
||||||
|
# check config directory stored within this project
|
||||||
for plugin_dir in set(sopel_modules.__path__):
|
for plugin_dir in set(sopel_modules.__path__):
|
||||||
configsdir = os.path.join(plugin_dir, "SpiceBot_Configs")
|
configsdir = os.path.join(plugin_dir, "SpiceBot_Configs")
|
||||||
cfgdir = os.path.join(configsdir, config_dir_name)
|
cfgdir = os.path.join(configsdir, config_dir_name)
|
||||||
dir_to_scan.append(cfgdir)
|
if os.path.exists(cfgdir) and os.path.isdir(cfgdir):
|
||||||
|
if len(os.listdir(cfgdir)) > 0:
|
||||||
|
dir_to_scan.append(cfgdir)
|
||||||
|
|
||||||
extradir = eval("botconfig." + config_dir_name)
|
# attempt to check for extra directories
|
||||||
|
try:
|
||||||
|
extradir = eval("botconfig." + config_dir_name + ".extra")
|
||||||
|
except Exception as e:
|
||||||
|
extradir = e
|
||||||
|
extradir = []
|
||||||
if len(extradir):
|
if len(extradir):
|
||||||
for extracfgdir in extradir:
|
for extracfgdir in extradir:
|
||||||
dir_to_scan.append(extracfgdir)
|
if os.path.exists(extracfgdir) and os.path.isdir(extracfgdir):
|
||||||
|
if len(os.listdir(extracfgdir)) > 0:
|
||||||
|
dir_to_scan.append(extracfgdir)
|
||||||
|
|
||||||
return dir_to_scan
|
return dir_to_scan
|
||||||
|
|
||||||
def json_to_dict(self, directories, configtypename="Config File", log_from='read_directory_json_to_dict', logging=True):
|
def json_to_dict(self, directories, configtypename="Config File", log_from='read_directory_json_to_dict', logging=True):
|
||||||
|
|||||||
@ -2,27 +2,28 @@
|
|||||||
from __future__ import unicode_literals, absolute_import, division, print_function
|
from __future__ import unicode_literals, absolute_import, division, print_function
|
||||||
"""A way to search google"""
|
"""A way to search google"""
|
||||||
|
|
||||||
import sopel_modules
|
from sopel.config.types import StaticSection, ListAttribute
|
||||||
|
|
||||||
from .Read import read as botread
|
from .Read import read as botread
|
||||||
|
from .Config import config as botconfig
|
||||||
|
|
||||||
import os
|
|
||||||
from fake_useragent import UserAgent
|
from fake_useragent import UserAgent
|
||||||
import requests
|
import requests
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
||||||
|
class SpiceBot_Sherlock_MainSection(StaticSection):
|
||||||
|
extra = ListAttribute('extra')
|
||||||
|
|
||||||
|
|
||||||
class Sherlock():
|
class Sherlock():
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
self.setup_sherlock()
|
||||||
self.header = {'User-Agent': str(UserAgent().chrome)}
|
self.header = {'User-Agent': str(UserAgent().chrome)}
|
||||||
self.dict = {}
|
self.dict = {}
|
||||||
|
|
||||||
dir_to_scan = []
|
dir_to_scan = botread.get_config_dirs("SpiceBot_Sherlock")
|
||||||
for plugin_dir in set(sopel_modules.__path__):
|
|
||||||
configsdir = os.path.join(plugin_dir, "SpiceBot_Configs")
|
|
||||||
usercfgdir = os.path.join(configsdir, "SpiceBot_Sherlock")
|
|
||||||
dir_to_scan.append(usercfgdir)
|
|
||||||
|
|
||||||
valid_usernames_dict = botread.json_to_dict(dir_to_scan, "Sherlock", "SpiceBot_Sherlock")
|
valid_usernames_dict = botread.json_to_dict(dir_to_scan, "Sherlock", "SpiceBot_Sherlock")
|
||||||
|
|
||||||
@ -30,6 +31,9 @@ class Sherlock():
|
|||||||
self.dict[social_network] = valid_usernames_dict[social_network]
|
self.dict[social_network] = valid_usernames_dict[social_network]
|
||||||
self.dict[social_network]["cache"] = dict()
|
self.dict[social_network]["cache"] = dict()
|
||||||
|
|
||||||
|
def setup_sherlock(self):
|
||||||
|
botconfig.define_section("SpiceBot_Sherlock", SpiceBot_Sherlock_MainSection, validate=False)
|
||||||
|
|
||||||
def check_network(self, username, social_network):
|
def check_network(self, username, social_network):
|
||||||
username = str(username).lower()
|
username = str(username).lower()
|
||||||
|
|
||||||
|
|||||||
@ -10,6 +10,7 @@ from .Update import SpiceBot_Update_MainSection
|
|||||||
from .Gif import SpiceBot_Gif_MainSection
|
from .Gif import SpiceBot_Gif_MainSection
|
||||||
from .DictComs import SpiceBot_DictComs_MainSection
|
from .DictComs import SpiceBot_DictComs_MainSection
|
||||||
from .Reddit import SpiceBot_Reddit_MainSection
|
from .Reddit import SpiceBot_Reddit_MainSection
|
||||||
|
from .Sherlock import SpiceBot_Sherlock_MainSection
|
||||||
from .Kick import SpiceBot_Kick
|
from .Kick import SpiceBot_Kick
|
||||||
from .osd import SpiceBot_OSD
|
from .osd import SpiceBot_OSD
|
||||||
|
|
||||||
@ -58,3 +59,6 @@ def configure(config):
|
|||||||
|
|
||||||
config.define_section("SpiceBot_DictComs", SpiceBot_DictComs_MainSection, validate=False)
|
config.define_section("SpiceBot_DictComs", SpiceBot_DictComs_MainSection, validate=False)
|
||||||
config.SpiceBot_DictComs.configure_setting('extra', 'SpiceBot_DictComs API Extra directory')
|
config.SpiceBot_DictComs.configure_setting('extra', 'SpiceBot_DictComs API Extra directory')
|
||||||
|
|
||||||
|
config.define_section("SpiceBot_Sherlock", SpiceBot_Sherlock_MainSection, validate=False)
|
||||||
|
config.SpiceBot_Sherlock.configure_setting('extra', 'SpiceBot_Sherlock API Extra directory')
|
||||||
|
|||||||
@ -20,6 +20,7 @@ from .osd import SopelWrapperOSD, ToolsOSD, SopelOSD, SpiceBot_OSD
|
|||||||
from .Kick import SopelWrapperKICK, SopelKICK, SpiceBot_Kick
|
from .Kick import SopelWrapperKICK, SopelKICK, SpiceBot_Kick
|
||||||
from .Gif import SpiceBot_Gif_MainSection
|
from .Gif import SpiceBot_Gif_MainSection
|
||||||
from .DictComs import SpiceBot_DictComs_MainSection
|
from .DictComs import SpiceBot_DictComs_MainSection
|
||||||
|
from .Sherlock import SpiceBot_Sherlock_MainSection
|
||||||
from .AI import SpiceBot_AI_MainSection
|
from .AI import SpiceBot_AI_MainSection
|
||||||
|
|
||||||
|
|
||||||
@ -61,6 +62,8 @@ def setup(bot):
|
|||||||
|
|
||||||
setup_dictcoms(bot)
|
setup_dictcoms(bot)
|
||||||
|
|
||||||
|
setup_sherlock(bot)
|
||||||
|
|
||||||
|
|
||||||
def setup_config(bot):
|
def setup_config(bot):
|
||||||
logs.log('SpiceBot_Config', "Setting Up Configuration")
|
logs.log('SpiceBot_Config', "Setting Up Configuration")
|
||||||
@ -159,3 +162,7 @@ def setup_reddit(bot):
|
|||||||
|
|
||||||
def setup_dictcoms(bot):
|
def setup_dictcoms(bot):
|
||||||
bot.config.define_section("SpiceBot_DictComs", SpiceBot_DictComs_MainSection, validate=False)
|
bot.config.define_section("SpiceBot_DictComs", SpiceBot_DictComs_MainSection, validate=False)
|
||||||
|
|
||||||
|
|
||||||
|
def setup_sherlock(bot):
|
||||||
|
bot.config.define_section("SpiceBot_Sherlock", SpiceBot_Sherlock_MainSection, validate=False)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user