<<Back to Article

Disqus API Client in Python

/skill level/
/viewed/
0 Times

This code snippet originated from the Disqus API tutorial. It is a simple Disqus API Client written in Python

What you'll need

The Code

import urllib

import simplejson


BASE_PATH = 'http://disqus.com/api/'
DEBUG = True


class DisqusError(Exception):
    def __init__(self, code, message):
        self.code, self.message = code, message
    def __str__(self):
        return 'DisqusError %s: %s' % (self.code, self.message)


class DisqusAPIClient():
    def __init__(self):
       """instantiate"""
    
    def __getattr__(self, method):
        def method(_self=self, _method=method, **params):
            url = "%s%s/?&%s" %  (BASE_PATH, _method, urllib.urlencode(params))
            if DEBUG: print url
            data = self.fetch(url)
            return data
        
        return method
    
    def fetch(self, url):
        data = simplejson.load(urllib.urlopen(url))
        if data.get("code", "") != "ok":
            raise DisqusError(data["code"], data["message"])
        return data['message']
        
    def __repr__(self):
        return "<DisqusClient: %s>" % self.method
  • This page was last modified 22:58, 15 September 2008.
Edit this article
Reddit Digg