DRYed some stuff

This commit is contained in:
Jonas Obrist 2012-08-18 18:15:14 +02:00
parent 903be7f383
commit d0ccd61afd

View file

@ -73,28 +73,20 @@ class GHUser(BaseAPIModel):
self.complete = True self.complete = True
self.save() self.save()
# set followers/following # set followers/following
followers = []
cache = {} cache = {}
for shortuser in api.get_iter('users/%s/followers' % self.gh_login): def inner(iter):
follower = cache.get(shortuser['login'], None) users = []
if not follower: for shortuser in iter:
user = cache.get(shortuser['login'], None)
if not user:
try: try:
follower = GHUser.objects.get(gh_login=shortuser['login']) user = GHUser.objects.get(gh_login=shortuser['login'])
except self.DoesNotExist: except self.DoesNotExist:
follower = GHUser.objects.create(**self._translate(shortuser)) user = GHUser.objects.create(**self._translate(shortuser))
followers.append(follower) users.append(user)
cache[follower.gh_login] = follower cache[user.gh_login] = user
self.followers = followers self.followers = inner(api.get_iter('users/%s/followers' % self.gh_login))
following = [] self.following = inner(api.get_iter('users/%s/followers' % self.gh_login))
for shortuser in api.get_iter('users/%s/following' % self.gh_login):
follower = cache.get(shortuser['login'], None)
if not follower:
try:
follower = GHUser.objects.get(gh_login=shortuser['login'])
except self.DoesNotExist:
follower = GHUser.objects.create(**self._translate(shortuser))
following.append(follower)
self.following = following
return self return self