mirror of
https://github.com/oddluck/limnoria-plugins.git
synced 2025-04-29 06:51:12 -05:00
Jeopardy: better handle missing data
This commit is contained in:
parent
909776d6eb
commit
e2c34583ff
@ -186,7 +186,7 @@ class Jeopardy(callbacks.Plugin):
|
|||||||
data = requests.get(
|
data = requests.get(
|
||||||
"{0}/api/random".format(self.jserviceUrl), timeout=5
|
"{0}/api/random".format(self.jserviceUrl), timeout=5
|
||||||
)
|
)
|
||||||
data = json.loads(data.content)
|
data = json.loads(data.content.decode())
|
||||||
else:
|
else:
|
||||||
data = requests.get(
|
data = requests.get(
|
||||||
"{0}/api/random?count={1}".format(
|
"{0}/api/random?count={1}".format(
|
||||||
@ -194,7 +194,10 @@ class Jeopardy(callbacks.Plugin):
|
|||||||
),
|
),
|
||||||
timeout=5,
|
timeout=5,
|
||||||
)
|
)
|
||||||
data = json.loads(data.content)
|
data = json.loads(data.content.decode())
|
||||||
|
if not data:
|
||||||
|
n += 1
|
||||||
|
break
|
||||||
for item in data:
|
for item in data:
|
||||||
if n == self.num:
|
if n == self.num:
|
||||||
break
|
break
|
||||||
@ -260,7 +263,10 @@ class Jeopardy(callbacks.Plugin):
|
|||||||
self.jserviceUrl, category
|
self.jserviceUrl, category
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
data = json.loads(data.content)
|
data = json.loads(data.content.decode())
|
||||||
|
if not data:
|
||||||
|
k += 1
|
||||||
|
break
|
||||||
cluecount = data[0]["category"]["clues_count"]
|
cluecount = data[0]["category"]["clues_count"]
|
||||||
if cluecount < self.num and len(self.categories) == 1:
|
if cluecount < self.num and len(self.categories) == 1:
|
||||||
self.num = cluecount
|
self.num = cluecount
|
||||||
@ -268,55 +274,50 @@ class Jeopardy(callbacks.Plugin):
|
|||||||
data.extend(
|
data.extend(
|
||||||
json.loads(
|
json.loads(
|
||||||
requests.get(
|
requests.get(
|
||||||
"{0}/api/clues?&category={1}&offset=100".format(
|
"{0}/api/clues?&category={1}&offset=100"
|
||||||
self.jserviceUrl, category
|
.format(self.jserviceUrl, category),
|
||||||
),
|
|
||||||
timeout=5,
|
timeout=5,
|
||||||
).content
|
).content.decode()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if cluecount > 200:
|
if cluecount > 200:
|
||||||
data.extend(
|
data.extend(
|
||||||
json.loads(
|
json.loads(
|
||||||
requests.get(
|
requests.get(
|
||||||
"{0}/api/clues?&category={1}&offset=200".format(
|
"{0}/api/clues?&category={1}&offset=200"
|
||||||
self.jserviceUrl, category
|
.format(self.jserviceUrl, category),
|
||||||
),
|
|
||||||
timeout=5,
|
timeout=5,
|
||||||
).content
|
).content.decode()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if cluecount > 300:
|
if cluecount > 300:
|
||||||
data.extend(
|
data.extend(
|
||||||
json.loads(
|
json.loads(
|
||||||
requests.get(
|
requests.get(
|
||||||
"{0}/api/clues?&category={1}&offset=300".format(
|
"{0}/api/clues?&category={1}&offset=300"
|
||||||
self.jserviceUrl, category
|
.format(self.jserviceUrl, category),
|
||||||
),
|
|
||||||
timeout=5,
|
timeout=5,
|
||||||
).content
|
).content.decode()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if cluecount > 400:
|
if cluecount > 400:
|
||||||
data.extend(
|
data.extend(
|
||||||
json.loads(
|
json.loads(
|
||||||
requests.get(
|
requests.get(
|
||||||
"{0}/api/clues?&category={1}&offset=400".format(
|
"{0}/api/clues?&category={1}&offset=400"
|
||||||
self.jserviceUrl, category
|
.format(self.jserviceUrl, category),
|
||||||
),
|
|
||||||
timeout=5,
|
timeout=5,
|
||||||
).content
|
).content.decode()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
if cluecount > 500:
|
if cluecount > 500:
|
||||||
data.extend(
|
data.extend(
|
||||||
json.loads(
|
json.loads(
|
||||||
requests.get(
|
requests.get(
|
||||||
"{0}/api/clues?&category={1}&offset=500".format(
|
"{0}/api/clues?&category={1}&offset=500"
|
||||||
self.jserviceUrl, category
|
.format(self.jserviceUrl, category),
|
||||||
),
|
|
||||||
timeout=5,
|
timeout=5,
|
||||||
).content
|
).content.decode()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
j = 0
|
j = 0
|
||||||
@ -476,21 +477,23 @@ class Jeopardy(callbacks.Plugin):
|
|||||||
self.reply(self.question)
|
self.reply(self.question)
|
||||||
if self.timeout > 0:
|
if self.timeout > 0:
|
||||||
|
|
||||||
def event():
|
def endEvent():
|
||||||
self.end()
|
self.end()
|
||||||
|
|
||||||
self.endTime = time.time() + self.timeout
|
self.endTime = time.time() + self.timeout
|
||||||
schedule.addEvent(event, self.endTime, "end_%s" % self.channel)
|
schedule.addEvent(endEvent, self.endTime, "end_%s" % self.channel)
|
||||||
if self.showBlank:
|
if self.showBlank:
|
||||||
self.hint()
|
self.hint()
|
||||||
elif self.showHints or self.showTime:
|
elif self.showHints or self.showTime:
|
||||||
|
|
||||||
def event():
|
def timedEvent():
|
||||||
self.timedEvent()
|
self.timedEvent()
|
||||||
|
|
||||||
eventTime = time.time() + self.waitTime
|
eventTime = time.time() + self.waitTime
|
||||||
if eventTime < self.endTime:
|
if eventTime < self.endTime:
|
||||||
schedule.addEvent(event, eventTime, "event_%s" % self.channel)
|
schedule.addEvent(
|
||||||
|
timedEvent, eventTime, "event_%s" % self.channel
|
||||||
|
)
|
||||||
elif self.showBlank:
|
elif self.showBlank:
|
||||||
self.hint()
|
self.hint()
|
||||||
|
|
||||||
@ -793,7 +796,7 @@ class Jeopardy(callbacks.Plugin):
|
|||||||
),
|
),
|
||||||
timeout=5,
|
timeout=5,
|
||||||
)
|
)
|
||||||
data = json.loads(data.content)
|
data = json.loads(data.content.decode())
|
||||||
random.shuffle(data)
|
random.shuffle(data)
|
||||||
results = []
|
results = []
|
||||||
for item in data:
|
for item in data:
|
||||||
@ -921,7 +924,8 @@ class Jeopardy(callbacks.Plugin):
|
|||||||
if self.registryValue("useBold", msg.channel):
|
if self.registryValue("useBold", msg.channel):
|
||||||
irc.reply(
|
irc.reply(
|
||||||
ircutils.bold(
|
ircutils.bold(
|
||||||
"Add category name to the start command to select a category by name."
|
"Add category name to the start command to select a category by"
|
||||||
|
" name."
|
||||||
),
|
),
|
||||||
prefixNick=False,
|
prefixNick=False,
|
||||||
)
|
)
|
||||||
@ -1107,3 +1111,4 @@ class Jeopardy(callbacks.Plugin):
|
|||||||
|
|
||||||
|
|
||||||
Class = Jeopardy
|
Class = Jeopardy
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user