Fabric 오류 및 경고 색상 변경

6031 단어 Pythonfabric
Fabricenv.colorize_errors = True에서는 오류와 경고에 색상이 있을 수 있지만 터미널 색상이 빨간색이면 착용하기 때문에 배경색을 칠하고 싶어요.(참고로 내 배경은 검은색이어서 문제없다.)
따라서 덮어쓰기fabric.colors.(향후 업데이트에서 기대하는 동작으로 바뀔 수 있기 때문에 좋은 방법이 아닐 수도 있습니다.)
colors.py
# -*- coding: utf-8 -*-
import fabric.colors

def _wrap_with(color, background):

    def inner(text, bold=False):
        c = color
        if background:
            c = "%s;%s" % (background, c)
        if bold:
            c = "1;%s" % c

        return "\033[%sm%s\033[0;m" % (c, text)

    return inner

red = _wrap_with('31', '40')
green = _wrap_with('32', '40')
yellow = _wrap_with('33', '40')
blue = _wrap_with('34', '40')
magenta = _wrap_with('35', '40')
cyan = _wrap_with('36', '40')
white = _wrap_with('37', '40')

fabric.colors.red = red
fabric.colors.green = green
fabric.colors.yellow = yellow
fabric.colors.blue = blue
fabric.colors.magenta = magenta
fabric.colors.cyan = cyan
fabric.colors.white = white
도피 서열\033[1;40;31은bold, 검은색 배경, 빨간색 문자, fabric.utils.abort호출fabric.colors.red이기 때문에 fabric.colors.red조립\033[1;40;31%s\033[0;m할 수 있는 함수입니다.
이 항목 불러오기
fabfile.py
# -*- coding: utf-8 -*-

from fabric.api import *

from colors import *

env.colorize_errors = True

@task
def abort_task():
    abort("タスク失敗! >_<")
이렇게 하면 빨간색 배경에서도 글을 읽을 수 있다.

이 방법을 사용하면 색 출력 함수를 스스로 만들 수 있습니다.

좋은 웹페이지 즐겨찾기