Skip to content

Commit 927e951

Browse files
committed
Split description retrieval and say() function
1 parent a914fd4 commit 927e951

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

sopel/modules/wikipedia.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,16 @@ def mw_section(server, query, section):
273273

274274

275275
def say_commons_image(bot, trigger, image):
276+
desc = mw_commons_image_description(image)
277+
278+
if desc:
279+
bot.say(desc, truncation=" […]")
280+
281+
282+
def mw_commons_image_description(image):
283+
"""
284+
Retrieves the Wikimedia Commons description for the given image
285+
"""
276286
params = "&".join([
277287
"action=query",
278288
"prop=imageinfo",
@@ -293,21 +303,21 @@ def say_commons_image(bot, trigger, image):
293303
pages = query_data["pages"]
294304

295305
if pageids == [-1] or len(pageids) > 1:
296-
bot.say("no lol")
297-
return False
306+
# We either got no results, or multiple results, time to bail out
307+
return None
298308
else:
299309
page = pages[pageids[0]]
300310

301311
raw_desc = page["imageinfo"][0]["extmetadata"]["ImageDescription"]["value"]
302312

303313
parser = WikiParser(image)
304-
parser.feed(description)
314+
parser.feed(raw_desc)
305315
desc = parser.get_result()
306316
desc = ' '.join(desc.split()) # collapse multiple whitespace chars
307317

308-
bot.say(desc, truncation=" […]")
318+
return desc
309319
except LookupError:
310-
return False
320+
return None
311321

312322

313323
# Matches a wikipedia page (excluding spaces and #, but not /File: links), with a separate optional field for the section

0 commit comments

Comments
 (0)