Fehler und Warnungen bei Stofffarben mit "env.colorize_errors = True", aber wenn die Terminalfarbe rot ist, wird sie beschlagen, sodass ich den Hintergrund einfärben möchte. (Übrigens bin ich auf einem schwarzen Hintergrund, damit ich keine Probleme habe)
Überschreiben Sie also Fabric.colors
. (Es ist möglicherweise nicht so, wie Sie es in einem zukünftigen Update erwartet haben, daher ist es möglicherweise keine gute Idee.)
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
In der Escape-Sequenz ist "\ 033 [1; 40; 31" fett, schwarzer Hintergrund, rote Buchstaben, und "Fabric.utils.abort" ruft "Fabric.colors.red" auf, also "Fabric.colors.red" Sollte eine Funktion sein, die "\ 033 [1; 40; 31% s \ 033 [0; m" "konstruiert.
Lesen Sie dies
fabfile.py
# -*- coding: utf-8 -*-
from fabric.api import *
from colors import *
env.colorize_errors = True
@task
def abort_task():
abort("Aufgabe fehlgeschlagen!>_<")
Jetzt können Sie die Zeichen auch auf rotem Grund lesen.
Mit dieser Methode können Sie Ihre eigene Farbausgabefunktion erstellen.
Recommended Posts