def spider_repos(): gh = Github(settings.GITHUB_TOKEN) for repo in gh.get_organization('ministryofjustice').get_repos(): try: r = Repository.objects.get(name=repo.name) except Repository.DoesNotExist: r = Repository() r.name = repo.name r.created = set_timezone(repo.created_at) r.description = repo.description r.url = repo.html_url r.updated = set_timezone(repo.updated_at) r.private = repo.private r.contributors = repo.get_contributors().totalCount or 0 r.save() print '\nSaving', r.name r.add_language_usages(repo.get_languages()) record_gem_dependencies(repo, r) r.has_tests = check_for_tests(repo, r) r.save()