Prechádzať zdrojové kódy

adds term.colored.embed, which does not reset colors

Ask Solem 13 rokov pred
rodič
commit
164d265fbc
1 zmenil súbory, kde vykonal 10 pridanie a 4 odobranie
  1. 10 4
      celery/utils/term.py

+ 10 - 4
celery/utils/term.py

@@ -55,11 +55,17 @@ class colored(object):
     def no_color(self):
         return reduce(self._fold_no_color, self.s)
 
+    def embed(self):
+        prefix = ""
+        if self.enabled:
+            prefix = self.op
+        return prefix + str(reduce(self._add, self.s))
+
     def __str__(self):
-        prefix, suffix = "", ""
+        suffix = ""
         if self.enabled:
-            prefix, suffix = self.op, RESET_SEQ
-        return prefix + str(reduce(self._add, self.s)) + suffix
+            suffix = RESET_SEQ
+        return self.embed() + suffix
 
     def node(self, s, op):
         return self.__class__(enabled=self.enabled, op=op, *s)
@@ -128,7 +134,7 @@ class colored(object):
         return self.node(s, fg(40 + WHITE))
 
     def reset(self, *s):
-        return self.node(s, RESET_SEQ)
+        return self.node(s or [""], RESET_SEQ)
 
     def __add__(self, other):
         return str(self) + str(other)