本文整理汇总了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;未经允许,请勿转载。 |
请发表评论