Convert modules to new importer

This commit is contained in:
nemunaire 2015-02-11 18:12:39 +01:00
commit 28005e5654
23 changed files with 166 additions and 187 deletions

View file

@ -4,6 +4,7 @@
import urllib
from nemubot import context
from nemubot.exception import IRCException
from nemubot.hooks import hook
from nemubot.tools import web
@ -14,7 +15,7 @@ from more import Response
def load(context):
if not CONF or not CONF.hasNode("goodreadsapi") or not CONF.getNode("goodreadsapi").hasAttribute("key"):
if not context.config or not context.config.hasNode("goodreadsapi") or not context.config.getNode("goodreadsapi").hasAttribute("key"):
print ("You need a Goodreads API key in order to use this "
"module. Add it to the module configuration file:\n<goodreadsapi"
" key=\"XXXXXXXXXXXXXXXX\" />\nGet one at "
@ -25,7 +26,7 @@ def load(context):
def get_book(title):
"""Retrieve a book from its title"""
response = web.getXML("https://www.goodreads.com/book/title.xml?key=%s&title=%s" %
(CONF.getNode("goodreadsapi")["key"], urllib.parse.quote(title)))
(context.config.getNode("goodreadsapi")["key"], urllib.parse.quote(title)))
if response is not None and response.hasNode("book"):
return response.getNode("book")
else:
@ -35,7 +36,7 @@ def get_book(title):
def search_books(title):
"""Get a list of book matching given title"""
response = web.getXML("https://www.goodreads.com/search.xml?key=%s&q=%s" %
(CONF.getNode("goodreadsapi")["key"], urllib.parse.quote(title)))
(context.config.getNode("goodreadsapi")["key"], urllib.parse.quote(title)))
if response is not None and response.hasNode("search"):
return response.getNode("search").getNode("results").getNodes("work")
else:
@ -45,10 +46,10 @@ def search_books(title):
def search_author(name):
"""Looking for an author"""
response = web.getXML("https://www.goodreads.com/api/author_url/%s?key=%s" %
(urllib.parse.quote(name), CONF.getNode("goodreadsapi")["key"]))
(urllib.parse.quote(name), context.config.getNode("goodreadsapi")["key"]))
if response is not None and response.hasNode("author") and response.getNode("author").hasAttribute("id"):
response = web.getXML("https://www.goodreads.com/author/show/%s.xml?key=%s" %
(urllib.parse.quote(response.getNode("author")["id"]), CONF.getNode("goodreadsapi")["key"]))
(urllib.parse.quote(response.getNode("author")["id"]), context.config.getNode("goodreadsapi")["key"]))
if response is not None and response.hasNode("author"):
return response.getNode("author")
return None