~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/ui/__init__.py

  • Committer: Martin Pool
  • Date: 2009-06-22 08:42:28 UTC
  • mto: This revision was merged to the branch mainline in revision 4558.
  • Revision ID: mbp@sourcefrog.net-20090622084228-ejkvi8qgaz0kjwtf
Commentary on UIs

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
    depending on the detected capabilities of the terminal.
36
36
"""
37
37
 
 
38
# Previously, there was CLIUIFactory for dumb terminals, and TextUIFactory for
 
39
# those on smarter terminals.  However, there are actually a few independent
 
40
# variables so simple subclassing doesn't make sense.  The user may or may not
 
41
# want progress bars, but even if they want them off they may want a rich
 
42
# interface in other ways.  And on the other hand input may be redirected from
 
43
# a file so stdin is not a terminal, but we should still try to read input
 
44
# from it and display progress bars etc.  Therefore if we're doing a text UI
 
45
# at all, we just use TextUIFactory and it turns some features on or off
 
46
# depending on the detected settings and capabilities.  
 
47
#
 
48
# We also use this factory for most blackbox tests, but typically with non-tty
 
49
# streams and TERM=dumb.  For api tests, SilentUIFactory is probably
 
50
# appropriate.
 
51
#
 
52
# GUIs may actually choose to subclass TextUIFactory, so unimplemented methods
 
53
# fall back to working through the terminal.
 
54
 
38
55
import os
39
56
import sys
40
57
import warnings