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()
def create_repository(): repository = Repository( name="TestRepository", manager="DSpace", endpoint="http://dstools.hpsrepository.asu.edu/rest/") repository.save() return repository
def create_repository(*args): user = flask_login.current_user form = NewRepoForm() if form.validate_on_submit(): repo = Repository(name=form.name.data, ) repo.save() user.owned_repositories.connect(repo) return redirect(url_for("index")) return render_template("repo_create.html", form=form)
def issues_repos(request, boardid): boards = Board.objects.filter(pk=boardid) if len(boards) == 0: ret = HttpResponseRedirect('/issueview/board/show/') add_never_cache_headers(ret) return ret if boards[0].user != request.user and len( ReadPermissions.objects.filter( username=request.user.username).filter(board=boards[0])) == 0: ret = HttpResponseRedirect("/issueview/board/show/") add_never_cache_headers(ret) return ret board = boards[0].board if request.method == "GET": filtstring = request.GET.get("filter", "") repos = Repository.objects.filter(board=boards[0]) form = Repoform() ret = render( request, "issueview/repos.html", { "board": boards[0], "form": form, "repos": repos, "filtstring": filtstring }) add_never_cache_headers(ret) return ret form = Repoform(request.POST) filtstring = request.POST.get("filter", "") if form.is_valid(): newrepo = Repository() newrepo.repository = form.cleaned_data["repository"] newrepo.board = boards[0] newrepo.save() form = Repoform() repos = Repository.objects.filter(board=boards[0]) ret = render(request, "issueview/repos.html", { "board": boards[0], "form": form, "repos": repos, "filtstring": filtstring }) add_never_cache_headers(ret) return ret
def create_repository_and_owner(repository, name, email): if email == "None": q = User.gql("WHERE name = :1", name) else: q = User.gql("WHERE email = :1", email) u = q.get() if u is None: u = User(name=name, email=email) u.save() q = Repository.gql("WHERE name = :1 AND owner = :2", repository, u) r = q.get() if r is None: r = Repository(name=repository, owner=u) r.save() queue = get_github_queue() task = taskqueue.Task(url="/hooks/worker/authors/", params={'repo': r.key()}) queue.add(task) return r, u
class TestGetJARS(unittest.TestCase): def setUp(self): self.repository = Repository( name='TestRepository', manager='JARS', endpoint='http://localhost:8002', ) self.repository.save() self.user = User( username = '******', password = '******', ) self.user.save() self.client = Client( user=self.user, name="TestUser", url="http://asdf.com", client_type=0, redirect_uri="http://fdsa.com", client_id = 'fdasasdfasdf', client_secret = 'asdflkjhlkjasdlfjkhasjlksjldkjf', ) self.client.save() def test_get(self): kwargs = { 'token': '050814a54ac5c81b990140c3c43278031d391676', } text = get(self.client, self.repository, jars_uri, **kwargs) self.assertIsInstance(text, Text) text.content.delete() def tearDown(self): self.client.delete() self.user.delete() self.repository.delete()
class TestGetWWW(unittest.TestCase): def setUp(self): self.repository = Repository( name='TestRepository', manager='WWW', endpoint='', ) self.repository.save() self.user = User( username = '******', password = '******', ) self.user.save() self.client = Client( user=self.user, name="TestUser", url="http://asdf.com", client_type=0, redirect_uri="http://fdsa.com", client_id = 'fdasasdfasdf', client_secret = 'asdflkjhlkjasdlfjkhasjlksjldkjf', ) self.client.save() def test_get(self): text = get(self.client, self.repository, wikiURL) self.assertIsInstance(text, Text) text.content.delete() def tearDown(self): self.client.delete() self.user.delete() self.repository.delete()
def get_stat(request): if request.method == 'POST': get_sort_by = request.POST['sort_by'] get_date_created = request.POST['date_created'] get_number = int(request.POST['number']) repositories_in_database = Repository.objects.all() names_in_database = [repository.name for repository in repositories_in_database] repositories = search_repositories(number=get_number, created_after=get_date_created, sort_by=get_sort_by ) out = [] for repository in repositories: if repository["name"] in names_in_database: repository_from_database = Repository.objects.get(name=repository["name"]) out.append({ "name": repository_from_database.name, "url": repository_from_database.url, "stars": repository_from_database.stars, "stars_per_day": repository_from_database.stars_per_day, "contributors": repository_from_database.contributors, "contributors_per_day": repository_from_database.contributors_per_day, "commits": repository_from_database.commits, "commits_per_day": repository_from_database.commits_per_day, }) else: repository_from_api = get_repository_stat(repo_owner=repository["owner"], repo_name=repository["name"], repo_created_at=repository["created"] ) out.append({ "name": repository["name"], "url": repository["url"], "stars": repository["stars"], "stars_per_day": repository["stars_per_day"], "contributors": repository_from_api["contributors"], "contributors_per_day": repository_from_api["contributors_per_day"], "commits": repository_from_api["commits"], "commits_per_day": repository_from_api["commits_per_day"], }) r = Repository(name=repository["name"], owner=repository["owner"], url=repository["url"], created=datetime(repository["created"][0], repository["created"][1], repository["created"][2]), updated=datetime(repository["updated"][0], repository["updated"][1], repository["updated"][2]), stars=repository["stars"], stars_per_day=repository["stars_per_day"], contributors=repository_from_api["contributors"], contributors_per_day=repository_from_api["contributors_per_day"], commits=repository_from_api["commits"], commits_per_day=repository_from_api["commits_per_day"] ) r.save() stars = { 'label': 'Stars', 'data': [], 'units': "Stars" } stars_per_day = { 'label': 'Stars per day', 'data': [], 'units': "Stars/day" } contributors = { 'label': 'Contributors', 'data': [], 'units': "Contributors" } contributors_per_day = { 'label': 'Contributors per day', 'data': [], 'units': "Contributors/day" } commits = { 'label': 'Commits', 'data': [], 'units': "Commits" } commits_per_day = { 'label': 'Commits per day', 'data': [], 'units': "Commits/day" } for repository in out: stars["data"].append({ "name": repository["name"], "url": repository["url"], "value": repository["stars"], }) stars_per_day["data"].append({ "name": repository["name"], "url": repository["url"], "value": repository["stars_per_day"], }) contributors["data"].append({ "name": repository["name"], "url": repository["url"], "value": repository["contributors"], }) contributors_per_day["data"].append({ "name": repository["name"], "url": repository["url"], "value": repository["contributors_per_day"], }) commits["data"].append({ "name": repository["name"], "url": repository["url"], "value": repository["commits"], }) commits_per_day["data"].append({ "name": repository["name"], "url": repository["url"], "value": repository["commits_per_day"], }) response_data = [stars, stars_per_day, contributors, contributors_per_day, commits, commits_per_day] return HttpResponse( json.dumps(response_data), content_type='application/json' ) else: return HttpResponse( json.dumps({'error': 'something wrong'}), content_type='application/json' )
def create_repository(): repository = Repository(name="TestRepository", manager="DSpace", endpoint="http://dstools.hpsrepository.asu.edu/rest/") repository.save() return repository