• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python constants.LOG_TEMPLATE类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: fileify

def fileify(version_pk, commit):
    """
    Create ImportedFile objects for all of a version's files.

    This is a prereq for indexing the docs for search.
    It also causes celery-haystack to kick off an index of the file.
    """
    version = Version.objects.get(pk=version_pk)
    project = version.project

    if not project.cdn_enabled:
        return

    if not commit:
        log.info(
            LOG_TEMPLATE.format(
                project=project.slug,
                version=version.slug,
                msg=("Imported File not being built because no commit " "information"),
            )
        )

    path = project.rtd_build_path(version.slug)
    if path:
        log.info(LOG_TEMPLATE.format(project=version.project.slug, version=version.slug, msg="Creating ImportedFiles"))
        _manage_imported_files(version, path, commit)
    else:
        log.info(LOG_TEMPLATE.format(project=project.slug, version=version.slug, msg="No ImportedFile files"))
开发者ID:rtfd,项目名称:readthedocs.org,代码行数:28,代码来源:tasks.py


示例2: symlink_cnames

def symlink_cnames(version):
    """
    OLD
    Link from HOME/user_builds/cnames/<cname> ->
              HOME/user_builds/<project>/rtd-builds/
    NEW
    Link from HOME/user_builds/cnametoproject/<cname> ->
              HOME/user_builds/<project>/
    """
    try:
        redis_conn = redis.Redis(**settings.REDIS)
        cnames = redis_conn.smembers('rtd_slug:v1:%s' % version.project.slug)
    except redis.ConnectionError:
        log.error(LOG_TEMPLATE.format(project=version.project.slug, version=version.slug, msg='Failed to symlink cnames, Redis error.'), exc_info=True)
        return
    for cname in cnames:
        log.debug(LOG_TEMPLATE.format(project=version.project.slug, version=version.slug, msg="Symlinking CNAME: %s" % cname))
        docs_dir = version.project.rtd_build_path(version.slug)
        # Chop off the version from the end.
        docs_dir = '/'.join(docs_dir.split('/')[:-1])
        # Old symlink location -- Keep this here til we change nginx over
        symlink = version.project.cnames_symlink_path(cname)
        run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (docs_dir, symlink))
        # New symlink location
        new_docs_dir = version.project.doc_path
        new_cname_symlink = os.path.join(getattr(settings, 'SITE_ROOT'), 'cnametoproject', cname)
        run_on_app_servers('mkdir -p %s' % '/'.join(new_cname_symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (new_docs_dir, new_cname_symlink))
开发者ID:rjmackay,项目名称:readthedocs.org,代码行数:29,代码来源:symlinks.py


示例3: symlink_subprojects

def symlink_subprojects(version):
    """
    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:rjmackay,项目名称:readthedocs.org,代码行数:25,代码来源:symlinks.py


示例4: _log_warning

 def _log_warning(self, msg):
     # :'(
     log.warning(LOG_TEMPLATE.format(
         project=self.project.slug,
         version=self.version.slug,
         msg=msg,
     ))
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:7,代码来源:environments.py


示例5: record_pdf

def record_pdf(api, record, results, state, version):
    if not record or 'sphinx' not in version.project.documentation_type:
        return None
    try:
        if 'pdf' in results:
            pdf_exit = results['pdf'][0]
            pdf_success = pdf_exit == 0
            pdf_output = results['pdf'][1]
            pdf_error = results['pdf'][2]
        else:
            pdf_exit = 999
            pdf_success = False
            pdf_output = pdf_error = "PDF Failed"

        pdf_output = pdf_output.decode('utf-8', 'ignore')
        pdf_error = pdf_error.decode('utf-8', 'ignore')

        api.build.post(dict(
            state=state,
            project='/api/v1/project/%s/' % version.project.pk,
            version='/api/v1/version/%s/' % version.pk,
            success=pdf_success,
            type='pdf',
            output=pdf_output,
            error=pdf_error,
            exit_code=pdf_exit,
        ))
    except Exception:
        log.error(LOG_TEMPLATE.format(project=version.project.slug,
                                      version=version.slug, msg="Unable to post a new build"), exc_info=True)
开发者ID:tescalada,项目名称:readthedocs.org,代码行数:30,代码来源:tasks.py


示例6: get_client

 def get_client(self):
     """Create Docker client connection."""
     try:
         if self.client is None:
             self.client = APIClient(
                 base_url=self.docker_socket,
                 version=DOCKER_VERSION,
             )
         return self.client
     except DockerException as e:
         log.exception(
             LOG_TEMPLATE.format(
                 project=self.project.slug,
                 version=self.version.slug,
                 msg='Could not connect to Docker API',
             ),
         )
         # We don't raise an error here mentioning Docker, that is a
         # technical detail that the user can't resolve on their own.
         # Instead, give the user a generic failure
         raise BuildEnvironmentError(
             BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format(
                 build_id=self.build['id'],
             )
         )
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:25,代码来源:environments.py


示例7: symlink_cnames

def symlink_cnames(project):
    """Symlink project CNAME domains

    OLD
    Link from HOME/user_builds/cnames/<cname> ->
              HOME/user_builds/<project>/rtd-builds/
    NEW
    Link from HOME/user_builds/cnametoproject/<cname> ->
              HOME/user_builds/<project>/
    """
    domains = Domain.objects.filter(project=project, cname=True)
    for domain in domains:
        log.debug(LOG_TEMPLATE.format(
            project=project.slug,
            version=project.get_default_version(),
            msg="Symlinking CNAME: %s" % domain.clean_host)
        )
        docs_dir = project.rtd_build_path()
        # Chop off the version from the end.
        docs_dir = '/'.join(docs_dir.split('/')[:-1])
        # Old symlink location -- Keep this here til we change nginx over
        symlink = project.cnames_symlink_path(domain.clean_host)
        run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (docs_dir, symlink))
        # New symlink location
        new_docs_dir = project.doc_path
        new_cname_symlink = os.path.join(
            getattr(settings, 'SITE_ROOT'),
            'cnametoproject',
            domain.clean_host,
        )
        run_on_app_servers('mkdir -p %s' % '/'.join(new_cname_symlink.split('/')[:-1]))
        run_on_app_servers('ln -nsf %s %s' % (new_docs_dir, new_cname_symlink))
开发者ID:secretario,项目名称:readthedocs.org,代码行数:33,代码来源:symlinks.py


示例8: setup_vcs

    def setup_vcs(self):
        """
        Update the checkout of the repo to make sure it's the latest.

        This also syncs versions in the DB.

        :param build_env: Build environment
        """
        self.setup_env.update_build(state=BUILD_STATE_CLONING)

        self._log(msg='Updating docs from VCS')
        try:
            update_imported_docs(self.version.pk)
            commit = self.project.vcs_repo(self.version.slug).commit
            if commit:
                self.build['commit'] = commit
        except ProjectImportError as e:
            log.error(
                LOG_TEMPLATE.format(project=self.project.slug,
                                    version=self.version.slug,
                                    msg=str(e)),
                exc_info=True,
            )
            raise BuildEnvironmentError('Failed to import project',
                                        status_code=404)
开发者ID:BanterClaus,项目名称:readthedocs.org,代码行数:25,代码来源:tasks.py


示例9: setup_base

    def setup_base(self):
        conda_env_path = os.path.join(self.project.doc_path, 'conda')
        version_path = os.path.join(conda_env_path, self.version.slug)

        if os.path.exists(version_path):
            # Re-create conda directory each time to keep fresh state
            log.info(
                LOG_TEMPLATE.format(
                    project=self.project.slug,
                    version=self.version.slug,
                    msg='Removing existing conda directory',
                ),
            )
            shutil.rmtree(version_path)
        self.build_env.run(
            'conda',
            'env',
            'create',
            '--quiet',
            '--name',
            self.version.slug,
            '--file',
            self.config.conda.environment,
            bin_path=None,  # Don't use conda bin that doesn't exist yet
            cwd=self.checkout_path,
        )
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:26,代码来源:python_environments.py


示例10: email_notification

def email_notification(version, build, email):
    """Send email notifications for build failure

    :param version: :py:cls:`Version` instance that failed
    :param build: :py:cls:`Build` instance that failed
    :param email: Email recipient address
    """
    log.debug(LOG_TEMPLATE.format(project=version.project.slug, version=version.slug,
                                  msg='sending email to: %s' % email))
    context = {'version': version,
               'project': version.project,
               'build': build,
               'build_url': 'https://{0}{1}'.format(
                   getattr(settings, 'PRODUCTION_DOMAIN', 'readthedocs.org'),
                   build.get_absolute_url()),
               'unsub_url': 'https://{0}{1}'.format(
                   getattr(settings, 'PRODUCTION_DOMAIN', 'readthedocs.org'),
                   reverse('projects_notifications', args=[version.project.slug])),
               }

    if build.commit:
        title = _('Failed: {project.name} ({commit})').format(commit=build.commit[:8], **context)
    else:
        title = _('Failed: {project.name} ({version.verbose_name})').format(**context)

    send_email(
        email,
        title,
        template='projects/email/build_failed.txt',
        template_html='projects/email/build_failed.html',
        context=context
    )
开发者ID:npk,项目名称:readthedocs.org,代码行数:32,代码来源:tasks.py


示例11: email_notification

def email_notification(version, build, email):
    """Send email notifications for build failure

    :param version: :py:class:`Version` instance that failed
    :param build: :py:class:`Build` instance that failed
    :param email: Email recipient address
    """
    log.debug(
        LOG_TEMPLATE.format(project=version.project.slug, version=version.slug, msg="sending email to: %s" % email)
    )
    context = {
        "version": version,
        "project": version.project,
        "build": build,
        "build_url": "https://{0}{1}".format(
            getattr(settings, "PRODUCTION_DOMAIN", "readthedocs.org"), build.get_absolute_url()
        ),
        "unsub_url": "https://{0}{1}".format(
            getattr(settings, "PRODUCTION_DOMAIN", "readthedocs.org"),
            reverse("projects_notifications", args=[version.project.slug]),
        ),
    }

    if build.commit:
        title = _("Failed: {project.name} ({commit})").format(commit=build.commit[:8], **context)
    else:
        title = _("Failed: {project.name} ({version.verbose_name})").format(**context)

    send_email(
        email,
        title,
        template="projects/email/build_failed.txt",
        template_html="projects/email/build_failed.html",
        context=context,
    )
开发者ID:rtfd,项目名称:readthedocs.org,代码行数:35,代码来源:tasks.py


示例12: setup_vcs

def setup_vcs(version, build):
    """
    Update the checkout of the repo to make sure it's the latest.
    This also syncs versions in the DB.
    """

    log.info(LOG_TEMPLATE.format(project=version.project.slug,
                                 version=version.slug, msg='Updating docs from VCS'))
    try:
        update_output = update_imported_docs(version.pk)
        commit = version.project.vcs_repo(version.slug).commit
        if commit:
            build['commit'] = commit
    except ProjectImportError:
        log.error(LOG_TEMPLATE.format(project=version.project.slug, version=version.slug,
                                      msg='Failed to import project; skipping build'), exc_info=True)
        raise
    return update_output
开发者ID:rebost,项目名称:readthedocs.org,代码行数:18,代码来源:tasks.py


示例13: remove_symlink_single_version

def remove_symlink_single_version(version):
    """Remove single_version symlink"""
    log.debug(LOG_TEMPLATE.format(
        project=version.project.slug,
        version=version.project.get_default_version(),
        msg="Removing symlink for single_version")
    )
    symlink = version.project.single_version_symlink_path()
    run_on_app_servers('rm -f %s' % symlink)
开发者ID:royalwang,项目名称:readthedocs.org,代码行数:9,代码来源:symlinks.py


示例14: update_static_metadata

def update_static_metadata(project_pk, path=None):
    """Update static metadata JSON file

    Metadata settings include the following project settings:

    version
      The default version for the project, default: `latest`

    language
      The default language for the project, default: `en`

    languages
      List of languages built by linked translation projects.
    """
    project = Project.objects.get(pk=project_pk)
    if not path:
        path = project.static_metadata_path()

    log.info(LOG_TEMPLATE.format(
        project=project.slug,
        version='',
        msg='Updating static metadata',
    ))
    translations = [trans.language for trans in project.translations.all()]
    languages = set(translations)
    # Convert to JSON safe types
    metadata = {
        'version': project.default_version,
        'language': project.language,
        'languages': list(languages),
        'single_version': project.single_version,
    }
    try:
        fh = open(path, 'w+')
        json.dump(metadata, fh)
        fh.close()
        Syncer.copy(path, path, host=socket.gethostname(), file=True)
    except (AttributeError, IOError) as e:
        log.debug(LOG_TEMPLATE.format(
            project=project.slug,
            version='',
            msg='Cannot write to metadata.json: {0}'.format(e)
        ))
开发者ID:npk,项目名称:readthedocs.org,代码行数:43,代码来源:tasks.py


示例15: delete_existing_venv_dir

 def delete_existing_venv_dir(self):
     venv_dir = self.venv_path()
     # Handle deleting old venv dir
     if os.path.exists(venv_dir):
         log.info(
             LOG_TEMPLATE.format(
                 project=self.project.slug,
                 version=self.version.slug,
                 msg='Removing existing venv directory',
             ),
         )
         shutil.rmtree(venv_dir)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:12,代码来源:python_environments.py


示例16: webhook_notification

def webhook_notification(version, build, hook_url):
    project = version.project

    data = json.dumps({
        'name': project.name,
        'slug': project.slug,
        'build': {
            'id': build.id,
            'success': build.success,
            'date': build.date.strftime('%Y-%m-%d %H:%M:%S'),
        }
    })
    log.debug(LOG_TEMPLATE.format(project=project.slug, version='', msg='sending notification to: %s' % hook_url))
    requests.post(hook_url, data=data)
开发者ID:rrahn,项目名称:readthedocs.org,代码行数:14,代码来源:tasks.py


示例17: create_container

 def create_container(self):
     """Create docker container."""
     client = self.get_client()
     try:
         log.info(
             'Creating Docker container: image=%s',
             self.container_image,
         )
         self.container = client.create_container(
             image=self.container_image,
             command=('/bin/sh -c "sleep {time}; exit {exit}"'
                      .format(time=self.container_time_limit,
                              exit=DOCKER_TIMEOUT_EXIT_CODE)),
             name=self.container_id,
             hostname=self.container_id,
             host_config=self.get_container_host_config(),
             detach=True,
             environment=self.environment,
         )
         client.start(container=self.container_id)
     except ConnectionError as e:
         log.exception(
             LOG_TEMPLATE.format(
                 project=self.project.slug,
                 version=self.version.slug,
                 msg=(
                     'Could not connect to the Docker API, '
                     'make sure Docker is running'
                 ),
             ),
         )
         # We don't raise an error here mentioning Docker, that is a
         # technical detail that the user can't resolve on their own.
         # Instead, give the user a generic failure
         raise BuildEnvironmentError(
             BuildEnvironmentError.GENERIC_WITH_BUILD_ID.format(
                 build_id=self.build['id'],
             )
         )
     except DockerAPIError as e:
         log.exception(
             LOG_TEMPLATE
             .format(
                 project=self.project.slug,
                 version=self.version.slug,
                 msg=e.explanation,
             ),
         )
         raise BuildEnvironmentCreationFailed
开发者ID:homerjonathan,项目名称:readthedocs.org,代码行数:49,代码来源:environments.py


示例18: delete_existing_build_dir

 def delete_existing_build_dir(self):
     # Handle deleting old build dir
     build_dir = os.path.join(
         self.venv_path(),
         'build',
     )
     if os.path.exists(build_dir):
         log.info(
             LOG_TEMPLATE.format(
                 project=self.project.slug,
                 version=self.version.slug,
                 msg='Removing existing build directory',
             ),
         )
         shutil.rmtree(build_dir)
开发者ID:chrisjsewell,项目名称:readthedocs.org,代码行数:15,代码来源:python_environments.py


示例19: symlink_single_version

def symlink_single_version(version):
    """
    Link from HOME/user_builds/<project>/single_version ->
              HOME/user_builds/<project>/rtd-builds/<default_version>/
    """
    default_version = version.project.get_default_version()
    log.debug(LOG_TEMPLATE.format(project=version.project.slug, version=default_version, msg="Symlinking single_version"))

    # The single_version directory
    symlink = version.project.single_version_symlink_path()
    run_on_app_servers('mkdir -p %s' % '/'.join(symlink.split('/')[:-1]))

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


示例20: webhook_notification

def webhook_notification(version, build, hook_url):
    """Send webhook notification for project webhook

    :param version: Version instance to send hook for
    :param build: Build instance that failed
    :param hook_url: Hook URL to send to
    """
    project = version.project

    data = json.dumps(
        {
            "name": project.name,
            "slug": project.slug,
            "build": {"id": build.id, "success": build.success, "date": build.date.strftime("%Y-%m-%d %H:%M:%S")},
        }
    )
    log.debug(LOG_TEMPLATE.format(project=project.slug, version="", msg="sending notification to: %s" % hook_url))
    requests.post(hook_url, data=data)
开发者ID:rtfd,项目名称:readthedocs.org,代码行数:18,代码来源:tasks.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python projects_tags.sort_version_aware函数代码示例发布时间:2022-05-26
下一篇:
Python loader.Syncer类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap