| Index: third_party/colorama/README.txt
 | 
| diff --git a/third_party/colorama/README.txt b/third_party/colorama/README.txt
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..33467f76e933ca31a0a903b5bc3e361f0f0cb3e9
 | 
| --- /dev/null
 | 
| +++ b/third_party/colorama/README.txt
 | 
| @@ -0,0 +1,264 @@
 | 
| +Download and docs:
 | 
| +    http://pypi.python.org/pypi/colorama
 | 
| +Development:
 | 
| +    http://code.google.com/p/colorama
 | 
| +
 | 
| +Description
 | 
| +===========
 | 
| +
 | 
| +Makes ANSI escape character sequences, for producing colored terminal text and
 | 
| +cursor positioning, work under MS Windows.
 | 
| +
 | 
| +ANSI escape character sequences have long been used to produce colored terminal
 | 
| +text and cursor positioning on Unix and Macs. Colorama makes this work on
 | 
| +Windows, too. It also provides some shortcuts to help generate ANSI sequences,
 | 
| +and works fine in conjunction with any other ANSI sequence generation library,
 | 
| +such as Termcolor (http://pypi.python.org/pypi/termcolor.)
 | 
| +
 | 
| +This has the upshot of providing a simple cross-platform API for printing
 | 
| +colored terminal text from Python, and has the happy side-effect that existing
 | 
| +applications or libraries which use ANSI sequences to produce colored output on
 | 
| +Linux or Macs can now also work on Windows, simply by calling
 | 
| +``colorama.init()``.
 | 
| +
 | 
| +Demo scripts in the source code repository prints some colored text using
 | 
| +ANSI sequences. Compare their output under Gnome-terminal's built in ANSI
 | 
| +handling, versus on Windows Command-Prompt using Colorama:
 | 
| +
 | 
| +.. image:: http://colorama.googlecode.com/hg/screenshots/ubuntu-demo.png
 | 
| +    :width: 661
 | 
| +    :height: 357
 | 
| +    :alt: ANSI sequences on Ubuntu under gnome-terminal.
 | 
| +
 | 
| +.. image:: http://colorama.googlecode.com/hg/screenshots/windows-demo.png
 | 
| +    :width: 668
 | 
| +    :height: 325
 | 
| +    :alt: Same ANSI sequences on Windows, using Colorama.
 | 
| +
 | 
| +These screengrabs show that Colorama on Windows does not support ANSI 'dim
 | 
| +text': it looks the same as 'normal text'.
 | 
| +
 | 
| +
 | 
| +Dependencies
 | 
| +============
 | 
| +
 | 
| +None, other than Python. Tested on Python 2.5.5, 2.6.5, 2.7, 3.1.2, and 3.2
 | 
| +
 | 
| +
 | 
| +Usage
 | 
| +=====
 | 
| +
 | 
| +Initialisation
 | 
| +--------------
 | 
| +
 | 
| +Applications should initialise Colorama using::
 | 
| +
 | 
| +    from colorama import init
 | 
| +    init()
 | 
| +
 | 
| +If you are on Windows, the call to ``init()`` will start filtering ANSI escape
 | 
| +sequences out of any text sent to stdout or stderr, and will replace them with
 | 
| +equivalent Win32 calls.
 | 
| +
 | 
| +Calling ``init()`` has no effect on other platforms (unless you request other
 | 
| +optional functionality, see keyword args below.) The intention is that
 | 
| +applications can call ``init()`` unconditionally on all platforms, after which
 | 
| +ANSI output should just work.
 | 
| +
 | 
| +To stop using colorama before your program exits, simply call ``deinit()``.
 | 
| +This will restore stdout and stderr to their original values, so that Colorama
 | 
| +is disabled. To start using Colorama again, call ``reinit()``, which wraps
 | 
| +stdout and stderr again, but is cheaper to call than doing ``init()`` all over
 | 
| +again.
 | 
| +
 | 
| +
 | 
| +Colored Output
 | 
| +--------------
 | 
| +
 | 
| +Cross-platform printing of colored text can then be done using Colorama's
 | 
| +constant shorthand for ANSI escape sequences::
 | 
| +
 | 
| +    from colorama import Fore, Back, Style
 | 
| +    print Fore.RED + 'some red text'
 | 
| +    print Back.GREEN + and with a green background'
 | 
| +    print Style.DIM + 'and in dim text'
 | 
| +    print + Fore.RESET + Back.RESET + Style.RESET_ALL
 | 
| +    print 'back to normal now'
 | 
| +
 | 
| +or simply by manually printing ANSI sequences from your own code::
 | 
| +
 | 
| +    print '/033[31m' + 'some red text'
 | 
| +    print '/033[30m' # and reset to default color
 | 
| +
 | 
| +or Colorama can be used happily in conjunction with existing ANSI libraries
 | 
| +such as Termcolor::
 | 
| +
 | 
| +    from colorama import init
 | 
| +    from termcolor import colored
 | 
| +
 | 
| +    # use Colorama to make Termcolor work on Windows too
 | 
| +    init()
 | 
| +
 | 
| +    # then use Termcolor for all colored text output
 | 
| +    print colored('Hello, World!', 'green', 'on_red')
 | 
| +
 | 
| +Available formatting constants are::
 | 
| +
 | 
| +    Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
 | 
| +    Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
 | 
| +    Style: DIM, NORMAL, BRIGHT, RESET_ALL
 | 
| +
 | 
| +Style.RESET_ALL resets foreground, background and brightness. Colorama will
 | 
| +perform this reset automatically on program exit.
 | 
| +
 | 
| +
 | 
| +Cursor Positioning
 | 
| +------------------
 | 
| +
 | 
| +ANSI codes to reposition the cursor are supported. See demos/demo06.py for
 | 
| +an example of how to generate them.
 | 
| +
 | 
| +
 | 
| +Init Keyword Args
 | 
| +-----------------
 | 
| +
 | 
| +``init()`` accepts some kwargs to override default behaviour.
 | 
| +
 | 
| +init(autoreset=False):
 | 
| +    If you find yourself repeatedly sending reset sequences to turn off color
 | 
| +    changes at the end of every print, then ``init(autoreset=True)`` will
 | 
| +    automate that::
 | 
| +
 | 
| +        from colorama import init
 | 
| +        init(autoreset=True)
 | 
| +        print Fore.RED + 'some red text'
 | 
| +        print 'automatically back to default color again'
 | 
| +
 | 
| +init(strip=None):
 | 
| +    Pass ``True`` or ``False`` to override whether ansi codes should be
 | 
| +    stripped from the output. The default behaviour is to strip if on Windows.
 | 
| +
 | 
| +init(convert=None):
 | 
| +    Pass ``True`` or ``False`` to override whether to convert ansi codes in the
 | 
| +    output into win32 calls. The default behaviour is to convert if on Windows
 | 
| +    and output is to a tty (terminal).
 | 
| +
 | 
| +init(wrap=True):
 | 
| +    On Windows, colorama works by replacing ``sys.stdout`` and ``sys.stderr``
 | 
| +    with proxy objects, which override the .write() method to do their work. If
 | 
| +    this wrapping causes you problems, then this can be disabled by passing
 | 
| +    ``init(wrap=False)``. The default behaviour is to wrap if autoreset or
 | 
| +    strip or convert are True.
 | 
| +
 | 
| +    When wrapping is disabled, colored printing on non-Windows platforms will
 | 
| +    continue to work as normal. To do cross-platform colored output, you can
 | 
| +    use Colorama's ``AnsiToWin32`` proxy directly::
 | 
| +
 | 
| +        from colorama import init, AnsiToWin32
 | 
| +        init(wrap=False)
 | 
| +        stream = AnsiToWin32(sys.stderr).stream
 | 
| +        print >>stream, Fore.BLUE + 'blue text on stderr'    
 | 
| +
 | 
| +
 | 
| +Status & Known Problems
 | 
| +=======================
 | 
| +
 | 
| +I've personally only tested it on WinXP (CMD, Console2) and Ubuntu
 | 
| +(gnome-terminal, xterm), although it sounds like others are using it on other
 | 
| +platforms too.
 | 
| +
 | 
| +See outstanding issues and wishlist at:
 | 
| +http://code.google.com/p/colorama/issues/list
 | 
| +
 | 
| +If anything doesn't work for you, or doesn't do what you expected or hoped for,
 | 
| +I'd *love* to hear about it on that issues list.
 | 
| +
 | 
| +
 | 
| +Recognised ANSI Sequences
 | 
| +=========================
 | 
| +
 | 
| +ANSI sequences generally take the form:
 | 
| +
 | 
| +    ESC [ <param> ; <param> ... <command>
 | 
| +
 | 
| +Where <param> is an integer, and <command> is a single letter. Zero or more 
 | 
| +params are passed to a <command>. If no params are passed, it is generally
 | 
| +synonymous with passing a single zero. No spaces exist in the sequence, they
 | 
| +have just been inserted here to make it easy to read.
 | 
| +
 | 
| +The only ANSI sequences that colorama converts into win32 calls are::
 | 
| +
 | 
| +    ESC [ 0 m       # reset all (colors and brightness)
 | 
| +    ESC [ 1 m       # bright
 | 
| +    ESC [ 2 m       # dim (looks same as normal brightness)
 | 
| +    ESC [ 22 m      # normal brightness
 | 
| +
 | 
| +    # FOREGROUND:
 | 
| +    ESC [ 30 m      # black
 | 
| +    ESC [ 31 m      # red
 | 
| +    ESC [ 32 m      # green
 | 
| +    ESC [ 33 m      # yellow
 | 
| +    ESC [ 34 m      # blue
 | 
| +    ESC [ 35 m      # magenta
 | 
| +    ESC [ 36 m      # cyan
 | 
| +    ESC [ 37 m      # white
 | 
| +    ESC [ 39 m      # reset
 | 
| +
 | 
| +    # BACKGROUND
 | 
| +    ESC [ 40 m      # black
 | 
| +    ESC [ 41 m      # red
 | 
| +    ESC [ 42 m      # green
 | 
| +    ESC [ 43 m      # yellow
 | 
| +    ESC [ 44 m      # blue
 | 
| +    ESC [ 45 m      # magenta
 | 
| +    ESC [ 46 m      # cyan
 | 
| +    ESC [ 47 m      # white
 | 
| +    ESC [ 49 m      # reset
 | 
| +
 | 
| +    # cursor positioning
 | 
| +    ESC [ x;y H     # position cursor at x,y
 | 
| +
 | 
| +    # clear the screen
 | 
| +    ESC [ mode J    # clear the screen. Only mode 2 (clear entire screen)
 | 
| +                    # is supported. It should be easy to add other modes,
 | 
| +                    # let me know if that would be useful.
 | 
| +
 | 
| +Multiple numeric params to the 'm' command can be combined into a single
 | 
| +sequence, eg::
 | 
| +
 | 
| +    ESC [ 36 ; 45 ; 1 m     # bright cyan text on magenta background
 | 
| +
 | 
| +All other ANSI sequences of the form ``ESC [ <param> ; <param> ... <command>``
 | 
| +are silently stripped from the output on Windows.
 | 
| +
 | 
| +Any other form of ANSI sequence, such as single-character codes or alternative
 | 
| +initial characters, are not recognised nor stripped. It would be cool to add
 | 
| +them though. Let me know if it would be useful for you, via the issues on
 | 
| +google code.
 | 
| +
 | 
| +
 | 
| +Development
 | 
| +===========
 | 
| +
 | 
| +Running tests requires:
 | 
| +
 | 
| +- Michael Foord's 'mock' module to be installed.
 | 
| +- Tests are written using the 2010 era updates to 'unittest', and require to
 | 
| +  be run either using Python2.7 or greater, or else to have Michael Foord's
 | 
| +  'unittest2' module installed.
 | 
| +
 | 
| +unittest2 test discovery doesn't work for colorama, so I use 'nose'::
 | 
| +
 | 
| +    nosetests -s
 | 
| +
 | 
| +The -s is required because 'nosetests' otherwise applies a proxy of its own to
 | 
| +stdout, which confuses the unit tests.
 | 
| +
 | 
| +
 | 
| +Thanks
 | 
| +======
 | 
| +Daniel Griffith for multiple fabulous patches.
 | 
| +Oscar Lesta for valuable fix to stop ANSI chars being sent to non-tty output.
 | 
| +Roger Binns, for many suggestions, valuable feedback, & bug reports.
 | 
| +Tim Golden for thought and much appreciated feedback on the initial idea.
 | 
| +
 | 
| 
 |