Преглед на файлове

Fixed #13476 -- Added support for color in console output under Windows.

Detect and use the services of the ANSICON third-party tool if it's
available.
Ramiro Morales преди 11 години
родител
ревизия
12615dab78
променени са 3 файла, в които са добавени 20 реда и са изтрити 2 реда
  1. 4 2
      django/core/management/color.py
  2. 13 0
      docs/ref/django-admin.txt
  3. 3 0
      docs/releases/1.7.txt

+ 4 - 2
django/core/management/color.py

@@ -13,10 +13,12 @@ def supports_color():
     Returns True if the running system's terminal supports color, and False
     otherwise.
     """
-    unsupported_platform = (sys.platform in ('win32', 'Pocket PC'))
+    plat = sys.platform
+    supported_platform = plat != 'Pocket PC' and (plat != 'win32' or
+                                                  'ANSICON' in os.environ)
     # isatty is not always implemented, #6223.
     is_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()
-    if unsupported_platform or not is_a_tty:
+    if not supported_platform or not is_a_tty:
         return False
     return True
 

+ 13 - 0
docs/ref/django-admin.txt

@@ -1552,6 +1552,11 @@ color-coded output if your terminal supports ANSI-colored output. It
 won't use the color codes if you're piping the command's output to
 another program.
 
+Under Windows, the native console doesn't support ANSI escape sequences so by
+default there is no color output. But you can install the `ANSICON`_
+third-party tool, the Django commands will detect its presence and will make
+use of its services to color output just like on Unix-based platforms.
+
 The colors used for syntax highlighting can be customized. Django
 ships with three color palettes:
 
@@ -1636,6 +1641,14 @@ would specify the use of all the colors in the light color palette,
 *except* for the colors for errors and notices which would be
 overridden as specified.
 
+.. versionadded:: 1.7
+
+Support for color-coded output from ``django-admin.py`` / ``manage.py``
+utilities on Windows by relying on the ANSICON application was added in Django
+1.7.
+
+.. _ANSICON: http://adoxa.hostmyway.net/ansicon/
+
 Bash completion
 ---------------
 

+ 3 - 0
docs/releases/1.7.txt

@@ -415,6 +415,9 @@ Management Commands
   * All HTTP requests are logged to the console, including requests for static
     files or ``favicon.ico`` that used to be filtered out.
 
+* Management commands can now produce syntax colored output under Windows if
+  the ANSICON third-party tool is installed and active.
+
 Models
 ^^^^^^