Beispiel #1
0
def get_information_from_api(id):
    from people.models import Member
    repository = Repository.objects.get(id=id)

    if repository.repository_type == 1:
        commits = Commits(user=repository.user, repo=repository.repo)
        commits = commits.list()

        for commit in commits.iterator():
            if Commit.objects.filter(sha=commit.sha).exists():
                continue

            cm = Commit(
                **{
                    'repository': repository,
                    'sha': commit.sha,
                    'message': commit.commit.message,
                    'committer': commit.committer.login if commit.committer else '',
                    'api_url': commit.url,
                    'created': commit.commit.author.date,
                    'author_avatara': commit.author.avatar_url if commit.author else ''
                }
            )
            try:
                member = Member.objects.get(
                    username=commit.commit.author.name,
                    team__dash__year=settings.CURRENT_YEAR
                )
            except Member.DoesNotExist:
                cm.save()
            else:
                cm.member = member
                cm.save()