Пример #1
0
    def list_build_source_namespaces(self):
        gh_client = self._get_client()
        usr = gh_client.get_user()

        # Build the full set of namespaces for the user, starting with their own.
        namespaces = {}
        namespaces[usr.login] = {
            "personal": True,
            "id": usr.login,
            "title": usr.name or usr.login,
            "avatar_url": usr.avatar_url,
            "url": usr.html_url,
            "score": usr.plan.private_repos if usr.plan else 0,
        }

        for org in usr.get_orgs():
            organization = org.login if org.login else org.name

            # NOTE: We don't load the organization's html_url nor its plan, because doing
            # so requires loading *each organization* via its own API call in this tight
            # loop, which was massively slowing down the load time for users when setting
            # up triggers.
            namespaces[organization] = {
                "personal": False,
                "id": organization,
                "title": organization,
                "avatar_url": org.avatar_url,
                "url": "",
                "score": 0,
            }

        return BuildTriggerHandler.build_namespaces_response(namespaces)
Пример #2
0
    def list_build_source_namespaces(self):
        bitbucket_client = self._get_authorized_client()
        (result, data, err_msg) = bitbucket_client.get_visible_repositories()
        if not result:
            raise RepositoryReadException('Could not read repository list: ' +
                                          err_msg)

        namespaces = {}
        for repo in data:
            owner = repo['owner']

            if owner in namespaces:
                namespaces[owner]['score'] = namespaces[owner]['score'] + 1
            else:
                namespaces[owner] = {
                    'personal':
                    owner == self.config.get('nickname',
                                             self.config.get('username')),
                    'id':
                    owner,
                    'title':
                    owner,
                    'avatar_url':
                    repo['logo'],
                    'url':
                    'https://bitbucket.org/%s' % (owner),
                    'score':
                    1,
                }

        return BuildTriggerHandler.build_namespaces_response(namespaces)
Пример #3
0
    def list_build_source_namespaces(self):
        gl_client = self._get_authorized_client()
        current_user = gl_client.user
        if not current_user:
            raise RepositoryReadException('Unable to get current user')

        namespaces = {}
        for namespace in _paginated_iterator(gl_client.namespaces.list,
                                             RepositoryReadException):
            namespace_id = namespace.get_id()
            if namespace_id in namespaces:
                namespaces[namespace_id][
                    'score'] = namespaces[namespace_id]['score'] + 1
            else:
                owner = namespace.attributes['name']
                namespaces[namespace_id] = {
                    'personal': namespace.attributes['kind'] == 'user',
                    'id': str(namespace_id),
                    'title': namespace.attributes['name'],
                    'avatar_url': namespace.attributes.get('avatar_url'),
                    'score': 1,
                    'url': namespace.attributes.get('web_url') or '',
                }

        return BuildTriggerHandler.build_namespaces_response(namespaces)
Пример #4
0
    def list_build_source_namespaces(self):
        gl_client = self._get_authorized_client()
        current_user = gl_client.user
        if not current_user:
            raise RepositoryReadException("Unable to get current user")

        namespaces = {}
        for namespace in _paginated_iterator(gl_client.namespaces.list,
                                             RepositoryReadException):
            namespace_id = namespace.get_id()
            if namespace_id in namespaces:
                namespaces[namespace_id][
                    "score"] = namespaces[namespace_id]["score"] + 1
            else:
                owner = namespace.attributes["name"]
                namespaces[namespace_id] = {
                    "personal": namespace.attributes["kind"] == "user",
                    "id": str(namespace_id),
                    "title": namespace.attributes["name"],
                    "avatar_url": namespace.attributes.get("avatar_url"),
                    "score": 1,
                    "url": namespace.attributes.get("web_url") or "",
                }

        return BuildTriggerHandler.build_namespaces_response(namespaces)
Пример #5
0
    def list_build_source_namespaces(self):
        bitbucket_client = self._get_authorized_client()
        (result, data, err_msg) = bitbucket_client.get_visible_repositories()
        if not result:
            raise RepositoryReadException("Could not read repository list: " +
                                          err_msg)

        namespaces = {}
        for repo in data:
            owner = repo["owner"]

            if owner in namespaces:
                namespaces[owner]["score"] = namespaces[owner]["score"] + 1
            else:
                namespaces[owner] = {
                    "personal":
                    owner == self.config.get("nickname",
                                             self.config.get("username")),
                    "id":
                    owner,
                    "title":
                    owner,
                    "avatar_url":
                    repo["logo"],
                    "url":
                    "https://bitbucket.org/%s" % (owner),
                    "score":
                    1,
                }

        return BuildTriggerHandler.build_namespaces_response(namespaces)