aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/models
diff options
context:
space:
mode:
authorDavid Medina <davidmedina9@gmail.com>2012-02-04 19:07:23 +0100
committerDavid Medina <davidmedina9@gmail.com>2012-02-04 19:07:23 +0100
commit8a723b0815841ea9e34c148b06c0fa6529b90e33 (patch)
tree6161c4aef077d2ac9e2430d935f53e37117a0b9b /pygithub3/models
parentFull support to Result dynamic and lazy iterator (diff)
downloadpython-github3-8a723b0815841ea9e34c148b06c0fa6529b90e33.tar.xz
python-github3-8a723b0815841ea9e34c148b06c0fa6529b90e33.zip
Renaming (What I was thinking?)
resources => ghrequests models => resources + Also it's near to complete user service
Diffstat (limited to 'pygithub3/models')
-rw-r--r--pygithub3/models/__init__.py1
-rw-r--r--pygithub3/models/base.py78
-rw-r--r--pygithub3/models/users.py22
3 files changed, 0 insertions, 101 deletions
diff --git a/pygithub3/models/__init__.py b/pygithub3/models/__init__.py
deleted file mode 100644
index dae354a..0000000
--- a/pygithub3/models/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-# -*- encoding: utf-8 -*-
diff --git a/pygithub3/models/base.py b/pygithub3/models/base.py
deleted file mode 100644
index 722d545..0000000
--- a/pygithub3/models/base.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env python
-# -*- encoding: utf-8 -*-
-
-try:
- import simplejson as json
-except ImportError:
- import json
-
-
-class Model(object):
-
- _dates = ()
- _maps = {}
- _collection_maps = {}
-
- def __init__(self, attrs):
- """ """
- self._attrs = attrs
- self.__set_attrs()
-
- def __set_attrs(self):
- for attr in self._attrs:
- setattr(self, attr, self._attrs[attr])
-
- @classmethod
- def loads(self, json_content):
- resource_chunk = json.loads(json_content)
- if not hasattr(resource_chunk, 'items'):
- return [self.__load(raw_resource)
- for raw_resource in resource_chunk]
- else:
- return self.__load(resource_chunk)
-
- @classmethod
- def __load(self, raw_resource):
- def parse_date(string_date):
- from datetime import datetime
- try:
- date = datetime.strptime(string_date, '%Y-%m-%dT%H:%M:%SZ')
- except TypeError:
- date = None
- return date
-
- def parse_map(model, raw_resource):
- if hasattr(raw_resource, 'items'):
- return model.__load(raw_resource)
-
- def parse_collection_map(model, raw_resources):
- # Dict of resources (Ex: Gist file)
- if hasattr(raw_resources, 'items'):
- dict_map = {}
- for key, raw_resource in raw_resources.items():
- dict_map[key] = model.__load(raw_resource)
- return dict_map
- # list of resources
- elif hasattr(raw_resources, '__iter__'):
- return [model.__load(raw_resource)
- for raw_resource in raw_resources]
- raw_resource.update(
- {attr: parse_date(raw_resource[attr])
- for attr in self._dates if attr in raw_resource})
- raw_resource.update(
- {attr: parse_map(model, raw_resource[attr])
- for attr, model in self._maps.items()
- if attr in raw_resource})
- raw_resource.update(
- {attr: parse_collection_map(model, raw_resource[attr])
- for attr, model in self._collection_maps.items()
- if attr in raw_resource})
-
- return self(raw_resource)
-
-
-class Raw(Model):
-
- @classmethod
- def loads(self, json_content):
- return json.loads(json_content)
diff --git a/pygithub3/models/users.py b/pygithub3/models/users.py
deleted file mode 100644
index c94a704..0000000
--- a/pygithub3/models/users.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-# -*- encoding: utf-8 -*-
-
-from .base import Model
-
-__all__ = ('Plan', 'User')
-
-
-class Plan(Model):
-
- def __str__(self):
- return '<Plan (%s)>' % getattr(self, 'name', '')
-
-
-class User(Model):
- """ """
-
- _maps = {'plan': Plan}
- _dates = ('created_at', )
-
- def __str__(self):
- return '<User (%s)>' % getattr(self, 'login', '')