summaryrefslogtreecommitdiff
path: root/app/lib/utils/APIClients.py
diff options
context:
space:
mode:
authorluxagraf <sng@luxagraf.net>2014-05-23 10:48:20 -0400
committerluxagraf <sng@luxagraf.net>2014-05-23 10:48:20 -0400
commit4bae11bb25a8e3c43118891d17fd8e981ecf8dc6 (patch)
tree6c452743157ad9403ec54a7399b10069688d048f /app/lib/utils/APIClients.py
parenteebf53322e0d19be42e41d8f355c5d2a744441ae (diff)
Refactored code to use PEP8/Pyflake coding styles and cleaned up cruft a
bit
Diffstat (limited to 'app/lib/utils/APIClients.py')
-rw-r--r--app/lib/utils/APIClients.py104
1 files changed, 0 insertions, 104 deletions
diff --git a/app/lib/utils/APIClients.py b/app/lib/utils/APIClients.py
deleted file mode 100644
index 24ab97b..0000000
--- a/app/lib/utils/APIClients.py
+++ /dev/null
@@ -1,104 +0,0 @@
-# APIClients for grabbing data from popular web services
-# By Scott Gilbertson
-# Copyright is lame, take what you want, except for those portions noted
-
-# Dependencies:
-import sys, urllib
-import xml.etree.cElementTree as xml_parser
-
-
-DEBUG = 0
-
-"""
-base class -- handles GoodReads.com, but works for any rss feed, just send an empty string for anything you don't need
-"""
-class APIClient:
- def __init__(self, base_path, api_key):
- self.api_key = api_key
- self.base_path = base_path
-
- def __getattr__(self, method):
- def method(_self=self, _method=method, **params):
- url = "%s%s?%s&" % (self.base_path, self.api_key, urllib.urlencode(params))
- if DEBUG: print url
- data = self.fetch(url)
- return data
-
- return method
-
- def fetch(self, url):
- u = urllib.FancyURLopener(None)
- usock = u.open(url)
- rawdata = usock.read()
- if DEBUG: print rawdata
- usock.close()
- return xml_parser.fromstring(rawdata)
-
-"""
- Extend APIClient to work with the ma.gnolia.com API
- (http://wiki.ma.gnolia.com/Ma.gnolia_API)
- Adds some error handling as well
-"""
-class MagnoliaError(Exception):
- def __init__(self, code, message):
- self.code = code
- self.message = message
-
- def __str__(self):
- return 'Magnolia Error %s: %s' % (self.code, self.message)
-
-
-class MagnoliaClient(APIClient):
- def __getattr__(self, method):
- def method(_self=self, _method=method, **params):
- url = "%s%s?%s&api_key=%s" % (self.base_path, _method, urllib.urlencode(params), self.api_key)
- if DEBUG: print url
- data = APIClient.fetch(self, url)
- return data
- return method
-
-
-"""
- Extend APIClient to work with the Flickr API
- (http://www.flickr.com/services/api/)
- Adds error handling as well
-"""
-
-class FlickrError(Exception):
- def __init__(self, code, message):
- self.code = code
- self.message = message
-
- def __str__(self):
- return 'Flickr Error %s: %s' % (self.code, self.message)
-
-class FlickrClient(APIClient):
- def __getattr__(self, method):
- def method(_self=self, _method=method, **params):
- _method = _method.replace("_", ".")
- url = "%s?method=%s&%s&api_key=%s" % (self.base_path, _method, urllib.urlencode(params), self.api_key)
- if DEBUG: print url
- data = APIClient.fetch(self, url)
- return data
- return method
-
-class TumblrClient:
- def __init__(self, base_path):
- self.base_path = base_path
-
- def __getattr__(self, method):
- def method(_self=self, _method=method, **params):
- url = "%s" % (self.base_path)
- if DEBUG: print url
- data = self.fetch(url)
- return data
-
- return method
-
- def fetch(self, url):
- u = urllib.FancyURLopener(None)
- usock = u.open(url)
- rawdata = usock.read()
- if DEBUG: print rawdata
- usock.close()
- return xml_parser.fromstring(rawdata)