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:
try: user = cache.get(shortuser['login'], None)
follower = GHUser.objects.get(gh_login=shortuser['login']) if not user:
except self.DoesNotExist: try:
follower = GHUser.objects.create(**self._translate(shortuser)) user = GHUser.objects.get(gh_login=shortuser['login'])
followers.append(follower) except self.DoesNotExist:
cache[follower.gh_login] = follower user = GHUser.objects.create(**self._translate(shortuser))
self.followers = followers users.append(user)
following = [] cache[user.gh_login] = user
for shortuser in api.get_iter('users/%s/following' % self.gh_login): self.followers = inner(api.get_iter('users/%s/followers' % self.gh_login))
follower = cache.get(shortuser['login'], None) self.following = inner(api.get_iter('users/%s/followers' % self.gh_login))
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