Merge pull request #144 from SpiceBot/development

Development
This commit is contained in:
Deathbybandaid 2019-10-29 11:36:15 -04:00 committed by GitHub
commit 41e230fd58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 54 additions and 34 deletions

View File

@ -178,35 +178,38 @@ class BotGif():
page = e
page = None
if page and not str(page.status_code).startswith(tuple(["4", "5"])):
data = json.loads(urllib.request.urlopen(url).read().decode('utf-8'))
results = data[self.valid_api[currentapi]['results']]
resultsarray = []
for result in results:
appendresult = False
cururl = result[self.valid_api[currentapi]['cururl']]
slashsplit = str(cururl).split("/")
fileextension = slashsplit[-1]
if not fileextension or fileextension == '':
appendresult = True
elif str(fileextension).endswith(".gif"):
appendresult = True
elif "." not in str(fileextension):
appendresult = True
if appendresult:
resultsarray.append(cururl)
# make sure there are results
if len(resultsarray):
# Create Temp dict for every result
tempresultnum = 0
for tempresult in resultsarray:
if tempresult not in self.badlinks:
tempresultnum += 1
tempdict = {
"returnnum": tempresultnum,
"returnurl": tempresult,
"gifapi": currentapi,
}
self.valid_api[currentapi]["cache"][str(searchquery).lower()].append(tempdict)
try:
data = json.loads(urllib.request.urlopen(url).read().decode('utf-8'))
results = data[self.valid_api[currentapi]['results']]
resultsarray = []
for result in results:
appendresult = False
cururl = result[self.valid_api[currentapi]['cururl']]
slashsplit = str(cururl).split("/")
fileextension = slashsplit[-1]
if not fileextension or fileextension == '':
appendresult = True
elif str(fileextension).endswith(".gif"):
appendresult = True
elif "." not in str(fileextension):
appendresult = True
if appendresult:
resultsarray.append(cururl)
# make sure there are results
if len(resultsarray):
# Create Temp dict for every result
tempresultnum = 0
for tempresult in resultsarray:
if tempresult not in self.badlinks:
tempresultnum += 1
tempdict = {
"returnnum": tempresultnum,
"returnurl": tempresult,
"gifapi": currentapi,
}
self.valid_api[currentapi]["cache"][str(searchquery).lower()].append(tempdict)
except urllib.error.HTTPError:
return
def gif_url_assemble(self, currentapi, searchquery, searchlimit, searchnsfw):
# url base

View File

@ -6,6 +6,7 @@ This is the SpiceBot Channels system.
import sopel
import time
from threading import Thread
from sopel_modules.spicemanip import spicemanip
@ -68,6 +69,10 @@ def watch_chanlist_complete(bot, trigger):
@sopel.module.event(SpiceBot.events.BOT_CHANNELS)
@sopel.module.rule('.*')
def trigger_channel_list_recurring(bot, trigger):
Thread(target=channels_thread, args=(bot,)).start()
def channels_thread(bot):
while True:
time.sleep(1800)
SpiceBot.channels.bot_part_empty(bot)

View File

@ -4,6 +4,7 @@ from __future__ import unicode_literals, absolute_import, division, print_functi
This is the SpiceBot Events system.
"""
import sopel
from threading import Thread
import sopel_modules.SpiceBot as SpiceBot
@ -27,6 +28,10 @@ def bot_events_connected(bot, trigger):
SpiceBot.events.trigger(bot, SpiceBot.events.BOT_WELCOME, "Welcome to the SpiceBot Events System")
"""For items tossed in a queue, this will trigger them accordingly"""
Thread(target=events_thread, args=(bot,)).start()
def events_thread(bot):
while True:
if len(SpiceBot.events.dict["trigger_queue"]):
pretriggerdict = SpiceBot.events.dict["trigger_queue"][0]

View File

@ -4,6 +4,7 @@ from __future__ import unicode_literals, absolute_import, division, print_functi
This is the SpiceBot Logs system.
"""
import sopel
from threading import Thread
import sopel_modules.SpiceBot as SpiceBot
@ -18,10 +19,13 @@ def join_log_channel(bot, trigger):
bot.write(('JOIN', bot.nick, channel))
if channel not in list(bot.channels.keys()) and bot.config.SpiceBot_Channels.operadmin:
bot.write(('SAJOIN', bot.nick, channel))
while True:
if len(SpiceBot.logs.dict["queue"]):
bot.osd(str(SpiceBot.logs.dict["queue"][0]), channel)
del SpiceBot.logs.dict["queue"][0]
Thread(target=logs_thread, args=(bot, channel,)).start()
else:
SpiceBot.logs.dict["queue"] = []
def logs_thread(bot, channel):
while True:
if len(SpiceBot.logs.dict["queue"]):
bot.osd(str(SpiceBot.logs.dict["queue"][0]), channel)
del SpiceBot.logs.dict["queue"][0]

View File

@ -7,6 +7,9 @@ import sopel.module
import sopel_modules.SpiceBot as SpiceBot
# @rule(r"^(r|u)\/([^\s/]+)") TODO
@SpiceBot.events.check_ready([SpiceBot.events.BOT_LOADED])
@sopel.module.rule(r"""(?:)u/
(