当前位置: 首页>>代码示例>>Python>>正文


Python api.project函数代码示例

本文整理汇总了Python中readthedocs.restapi.client.api.project函数的典型用法代码示例。如果您正苦于以下问题:Python project函数的具体用法?Python project怎么用?Python project使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了project函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: set_valid_clone

 def set_valid_clone(self):
     """Mark on the project that it has been cloned properly."""
     project_data = api_v2.project(self.project.pk).get()
     project_data['has_valid_clone'] = True
     api_v2.project(self.project.pk).put(project_data)
     self.project.has_valid_clone = True
     self.version.project.has_valid_clone = True
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:7,代码来源:tasks.py

示例2: update_documentation_type

def update_documentation_type(version):
    """
    Automatically determine the doc type for a user.
    """

    # Keep this here for any 'auto' projects.

    ret = 'sphinx'
    project_data = api_v2.project(version.project.pk).get()
    project_data['documentation_type'] = ret
    api_v2.project(version.project.pk).put(project_data)
    version.project.documentation_type = ret
开发者ID:rebost,项目名称:readthedocs.org,代码行数:12,代码来源:tasks.py

示例3: update_documentation_type

    def update_documentation_type(self):
        """
        Force Sphinx for 'auto' documentation type

        This used to determine the type and automatically set the documentation
        type to Sphinx for rST and Mkdocs for markdown. It now just forces
        Sphinx, due to markdown support.
        """
        ret = 'sphinx'
        project_data = api_v2.project(self.project.pk).get()
        project_data['documentation_type'] = ret
        api_v2.project(self.project.pk).put(project_data)
        self.project.documentation_type = ret
开发者ID:npk,项目名称:readthedocs.org,代码行数:13,代码来源:tasks.py

示例4: api_versions

 def api_versions(self):
     from readthedocs.builds.models import APIVersion
     ret = []
     for version_data in api.project(self.pk).active_versions.get()['versions']:
         version = APIVersion(**version_data)
         ret.append(version)
     return sort_version_aware(ret)
开发者ID:devrkd,项目名称:readthedocs.org,代码行数:7,代码来源:models.py

示例5: symlink_subprojects

def symlink_subprojects(version):
    """Symlink project subprojects

    Link from HOME/user_builds/project/subprojects/<project> ->
              HOME/user_builds/<project>/rtd-builds/
    """
    # Subprojects
    if getattr(settings, 'DONT_HIT_DB', True):
        subproject_slugs = [data['slug']
                            for data in (api.project(version.project.pk)
                                         .subprojects
                                         .get()['subprojects'])]
    else:
        rels = version.project.subprojects.all()
        subproject_slugs = [rel.child.slug for rel in rels]
    for slug in subproject_slugs:
        slugs = [slug]
        if '_' in slugs[0]:
            slugs.append(slugs[0].replace('_', '-'))
        for subproject_slug in slugs:
            log.debug(LOG_TEMPLATE
                      .format(project=version.project.slug,
                              version=version.slug,
                              msg="Symlinking subproject: %s" % subproject_slug))

            # The directory for this specific subproject
            symlink = version.project.subprojects_symlink_path(subproject_slug)
            run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))

            # Where the actual docs live
            docs_dir = os.path.join(settings.DOCROOT, subproject_slug, 'rtd-builds')
            run_on_app_servers('ln -nsf %s %s' % (docs_dir, symlink))
开发者ID:royalwang,项目名称:readthedocs.org,代码行数:32,代码来源:symlinks.py

示例6: get_subproject_urls

    def get_subproject_urls(self):
        """
        List subproject URLs.

        This is used in search result linking
        """
        if settings.DONT_HIT_DB:
            return [(proj['slug'], proj['canonical_url']) for proj in
                    (api.project(self.pk).subprojects().get()['subprojects'])]
        return [(proj.child.slug, proj.child.get_docs_url())
                for proj in self.subprojects.all()]
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:11,代码来源:models.py

示例7: get_subproject_urls

    def get_subproject_urls(self):
        """List subproject URLs

        This is used in search result linking
        """
        if getattr(settings, "DONT_HIT_DB", True):
            return [
                (proj["slug"], proj["canonical_url"])
                for proj in (apiv2.project(self.pk).subprojects().get()["subprojects"])
            ]
        else:
            return [(proj.child.slug, proj.child.get_docs_url()) for proj in self.subprojects.all()]
开发者ID:optimizely,项目名称:readthedocs.org,代码行数:12,代码来源:models.py

示例8: get_token_for_project

def get_token_for_project(project, force_local=False):
    if not getattr(settings, "ALLOW_PRIVATE_REPOS", False):
        return None
    token = None
    try:
        if getattr(settings, "DONT_HIT_DB", True) and not force_local:
            token = api.project(project.pk).token().get()["token"]
        else:
            for user in project.users.all():
                tokens = SocialToken.objects.filter(account__user__username=user.username, app__provider="github")
                if tokens.exists():
                    token = tokens[0].token
    except Exception:
        log.error("Failed to get token for user", exc_info=True)
    return token
开发者ID:npk,项目名称:readthedocs.org,代码行数:15,代码来源:utils.py

示例9: get_token_for_project

 def get_token_for_project(cls, project, force_local=False):
     """Get access token for project by iterating over project users"""
     # TODO why does this only target GitHub?
     if not getattr(settings, 'ALLOW_PRIVATE_REPOS', False):
         return None
     token = None
     try:
         if getattr(settings, 'DONT_HIT_DB', True) and not force_local:
             token = api.project(project.pk).token().get()['token']
         else:
             for user in project.users.all():
                 tokens = SocialToken.objects.filter(
                     account__user=user,
                     app__provider=cls.adapter.provider_id)
                 if tokens.exists():
                     token = tokens[0].token
     except Exception:
         log.error('Failed to get token for project', exc_info=True)
     return token
开发者ID:lukegb,项目名称:readthedocs.org,代码行数:19,代码来源:github.py

示例10: update_imported_docs

def update_imported_docs(version_pk):
    """
    Check out or update the given project's repository

    :param version_pk: Version id to update
    """
    version_data = api_v1.version(version_pk).get()
    version = make_api_version(version_data)
    project = version.project
    ret_dict = {}

    # Make Dirs
    if not os.path.exists(project.doc_path):
        os.makedirs(project.doc_path)

    if not project.vcs_repo():
        raise ProjectImportError(("Repo type '{0}' unknown".format(project.repo_type)))

    with project.repo_nonblockinglock(
            version=version,
            max_lock_age=getattr(settings, 'REPO_LOCK_SECONDS', 30)):

        before_vcs.send(sender=version)

        # Get the actual code on disk
        if version:
            log.info(
                LOG_TEMPLATE.format(
                    project=project.slug,
                    version=version.slug,
                    msg='Checking out version {slug}: {identifier}'.format(
                        slug=version.slug,
                        identifier=version.identifier
                    )
                )
            )
            version_slug = version.slug
            version_repo = project.vcs_repo(version_slug)
            ret_dict['checkout'] = version_repo.checkout(
                version.identifier,
            )
        else:
            # Does this ever get called?
            log.info(LOG_TEMPLATE.format(
                project=project.slug, version=version.slug, msg='Updating to latest revision'))
            version_slug = LATEST
            version_repo = project.vcs_repo(version_slug)
            ret_dict['checkout'] = version_repo.update()

        after_vcs.send(sender=version)

        # Update tags/version

        version_post_data = {'repo': version_repo.repo_url}

        if version_repo.supports_tags:
            version_post_data['tags'] = [
                {'identifier': v.identifier,
                 'verbose_name': v.verbose_name,
                 } for v in version_repo.tags
            ]

        if version_repo.supports_branches:
            version_post_data['branches'] = [
                {'identifier': v.identifier,
                 'verbose_name': v.verbose_name,
                 } for v in version_repo.branches
            ]

        try:
            api_v2.project(project.pk).sync_versions.post(version_post_data)
        except Exception, e:
            print "Sync Versions Exception: %s" % e.message
开发者ID:npk,项目名称:readthedocs.org,代码行数:73,代码来源:tasks.py

示例11: get_canonical_url

 def get_canonical_url(self):
     if settings.DONT_HIT_DB:
         return api.project(self.pk).canonical_url().get()['url']
     return self.get_docs_url()
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:4,代码来源:models.py

示例12: get_project

 def get_project(project_pk):
     """Get project from API."""
     project_data = api_v2.project(project_pk).get()
     return APIProject(**project_data)
开发者ID:devrkd,项目名称:readthedocs.org,代码行数:4,代码来源:tasks.py

示例13: sync_repo

    def sync_repo(self):
        """Update the project's repository and hit ``sync_versions`` API."""
        # Make Dirs
        if not os.path.exists(self.project.doc_path):
            os.makedirs(self.project.doc_path)

        if not self.project.vcs_repo():
            raise RepositoryError(
                _('Repository type "{repo_type}" unknown').format(
                    repo_type=self.project.repo_type,
                ),
            )

        with self.project.repo_nonblockinglock(
                version=self.version,
                max_lock_age=getattr(settings, 'REPO_LOCK_SECONDS', 30)):

            # Get the actual code on disk
            try:
                before_vcs.send(sender=self.version)
                self._log(
                    'Checking out version {slug}: {identifier}'.format(
                        slug=self.version.slug,
                        identifier=self.version.identifier,
                    ),
                )
                version_repo = self.project.vcs_repo(
                    self.version.slug,
                    # When called from ``SyncRepositoryTask.run`` we don't have
                    # a ``setup_env`` so we use just ``None`` and commands won't
                    # be recorded
                    getattr(self, 'setup_env', None),
                )
                version_repo.checkout(self.version.identifier)
            finally:
                after_vcs.send(sender=self.version)

            # Update tags/version
            version_post_data = {'repo': version_repo.repo_url}

            if version_repo.supports_tags:
                version_post_data['tags'] = [
                    {'identifier': v.identifier,
                     'verbose_name': v.verbose_name,
                     } for v in version_repo.tags
                ]

            if version_repo.supports_branches:
                version_post_data['branches'] = [
                    {'identifier': v.identifier,
                     'verbose_name': v.verbose_name,
                     } for v in version_repo.branches
                ]

            self.validate_duplicate_reserved_versions(version_post_data)

            try:
                # Hit the API ``sync_versions`` which may trigger a new build
                # for the stable version
                api_v2.project(self.project.pk).sync_versions.post(version_post_data)
            except HttpClientError:
                log.exception('Sync Versions Exception')
            except Exception:
                log.exception('Unknown Sync Versions Exception')
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:64,代码来源:tasks.py


注:本文中的readthedocs.restapi.client.api.project函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。