Created
February 6, 2013 02:36
-
-
Save KazuyaHayashi/4719757 to your computer and use it in GitHub Desktop.
utility for google api XML feed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import functools | |
import logging | |
from django.utils import simplejson | |
def get_json_from_feed(user_feed): | |
"""Constructs and returns a JSON object from the given feed object | |
Args: | |
user_feed: A gdata.apps.UserFeed object | |
Returns: | |
A JSON object containing the first and last names of the domain users | |
""" | |
json = [] | |
for entry in user_feed.entry: | |
json.append({'given_name': entry.name.given_name, | |
'family_name': entry.name.family_name, | |
'username': entry.login.user_name, | |
'admin': entry.login.admin, | |
'suspended':entry.login.suspended, | |
}) | |
return simplejson.dumps(json) | |
def overloaded_post(post): | |
@functools.wraps(post) | |
def wrapper(*args, **kwds): | |
self = args[0] | |
_method = self.request.get('_method') | |
if _method.lower() == "delete": | |
logging.debug("Overloaded post calling self.delete(%s)", args[1:]) | |
return self.delete(*(args[1:]), **kwds) | |
elif _method.lower() == "put": | |
return self.put(*(args[1:]), **kwds) | |
elif _method.lower() == "head": | |
return self.head(*(args[1:]), **kwds) | |
elif _method.lower() == "status": | |
return self.head(*(args[1:]), **kwds) | |
else: | |
return post(*args, **kwds) | |
return wrapper |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment