# -*- coding: utf-8 -*- from json import loads from urllib import urlencode from urllib2 import urlopen from wiki.tools.category import Category from wiki.tools.page import Page from wiki.tools.user import User class Site(object): """ EarwigBot's Wiki Toolset: Site Class """ def __init__(self, name, project, lang, api=None, sql=(None, None)): """ Docstring needed """ self.name = name self.project = project self.lang = lang self._api = api self._sql = sql def api_query(self, params): """ Docstring needed """ params["format"] = "json" data = urlencode(params) result = urlopen(self._api, data).read() return loads(result) def get_page(self, pagename): """ Docstring needed """ if pagename.startswith("Category:"): # proper namespace checking! return get_category(pagename[9:]) return Page(self, pagename) def get_category(self, catname): """ Docstring needed """ return Category(self, "Category:" + catname) # namespace checking! def get_user(self, username): """ Docstring needed """ return User(self, username)