aboutsummaryrefslogtreecommitdiffstats
path: root/github3/core.py
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-02-03 02:59:53 +0100
committerDavid Medina <davidmedina9@gmail.com>2012-02-03 02:59:53 +0100
commitae1c3c06c47866c8f392d05c63f597d71cebd691 (patch)
tree6543c55e2210bd91f59124785200d1fbfb6be872 /github3/core.py
parentUpdate setup.py (diff)
downloadpython-github3-ae1c3c06c47866c8f392d05c63f597d71cebd691.tar.xz
python-github3-ae1c3c06c47866c8f392d05c63f597d71cebd691.zip
Reset project
Diffstat (limited to 'github3/core.py')
-rw-r--r--github3/core.py72
1 files changed, 0 insertions, 72 deletions
diff --git a/github3/core.py b/github3/core.py
deleted file mode 100644
index ab71943..0000000
--- a/github3/core.py
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/env python
-# -*- encoding: utf-8 -*-
-
-
-class Paginate:
- """ Paginate resource iterator
-
- :param resource: URL resource
- :param requester: Bound method to request. See `GithubCore.get`
- :param kwargs: Args to request (params)
- """
-
- def __init__(self, resource, requester, **kwargs):
- self.resource = resource
- self.requester = requester
- self.kwargs = kwargs
- self.page = 1
-
- def _last_page(self, link):
- """ Get and cached last page from link header """
- if not getattr(self, 'last', False):
- from github3.packages.link_header import parse_link_value
- from urlparse import urlparse, parse_qs
- for link, rels in parse_link_value(link).items():
- if rels.get('rel') == 'last':
- query = urlparse(link).query
- self.last = int(parse_qs(query).get('page').pop())
-
- return self.last
-
- def __iter__(self):
- return self
-
- def initial(self):
- """
- First request
- Force requester to paginate returning link header
- """
- link, content = self.requester(self.resource, paginate=True,
- page=1, **self.kwargs)
- self.last = self._last_page(link) if link else 1
- return content
-
- def next(self):
- if self.page == 1:
- content = self.initial()
- self.page += 1
- return content
- else:
- if self.page > self.last:
- raise StopIteration
- else:
- content = self.requester(self.resource, page=self.page,
- **self.kwargs)
- self.page += 1
- return content
-
-
-class Converter(object):
- """ Abstract converter class """
-
- def loads(self):
- raise NotImplementedError("%s needs define '%s' method" %
- (self.__class__.__name__, 'loads'))
-
- def dumps(self):
- raise NotImplementedError("%s needs define '%s' method" %
- (self.__class__.__name__, 'dumps'))
-
- def inject(self):
- raise NotImplementedError("%s needs define '%s' method" %
- (self.__class__.__name__, 'inject'))