~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/ui/__init__.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2011-08-17 18:13:57 UTC
  • mfrom: (5268.7.29 transport-segments)
  • Revision ID: pqm@pqm.ubuntu.com-20110817181357-y5q5eth1hk8bl3om
(jelmer) Allow specifying the colocated branch to use in the branch URL,
 and retrieving the branch name using ControlDir._get_selected_branch.
 (Jelmer Vernooij)

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
    back to working through the terminal.
42
42
"""
43
43
 
44
 
from __future__ import absolute_import
45
44
 
46
45
import warnings
47
46
 
155
154
            "The command 'bzr %(deprecated_name)s' "
156
155
            "has been deprecated in bzr %(deprecated_in_version)s. "
157
156
            "Please use 'bzr %(recommended_name)s' instead."),
158
 
        deprecated_command_option=(
159
 
            "The option '%(deprecated_name)s' to 'bzr %(command)s' "
160
 
            "has been deprecated in bzr %(deprecated_in_version)s. "
161
 
            "Please use '%(recommended_name)s' instead."),
162
157
        recommend_upgrade=("%(current_format_name)s is deprecated "
163
158
            "and a better format is available.\n"
164
159
            "It is recommended that you upgrade by "
166
161
            "  bzr upgrade %(basedir)s"),
167
162
        locks_steal_dead=(
168
163
            u"Stole dead lock %(lock_url)s %(other_holder_info)s."),
169
 
        not_checking_ssl_cert=(
170
 
            u"Not checking SSL certificate for %(host)s."),
171
164
        )
172
165
 
173
166
    def __init__(self):
327
320
            warnings.warn(fail)   # so tests will fail etc
328
321
            return fail
329
322
 
330
 
    def choose(self, msg, choices, default=None):
331
 
        """Prompt the user for a list of alternatives.
332
 
 
333
 
        :param msg: message to be shown as part of the prompt.
334
 
 
335
 
        :param choices: list of choices, with the individual choices separated
336
 
            by '\n', e.g.: choose("Save changes?", "&Yes\n&No\n&Cancel"). The
337
 
            letter after the '&' is the shortcut key for that choice. Thus you
338
 
            can type 'c' to select "Cancel".  Shorcuts are case insensitive.
339
 
            The shortcut does not need to be the first letter. If a shorcut key
340
 
            is not provided, the first letter for the choice will be used.
341
 
 
342
 
        :param default: default choice (index), returned for example when enter
343
 
            is pressed for the console version.
344
 
 
345
 
        :return: the index fo the user choice (so '0', '1' or '2' for
346
 
            respectively yes/no/cancel in the previous example).
347
 
        """
348
 
        raise NotImplementedError(self.choose)
349
 
 
350
323
    def get_boolean(self, prompt):
351
324
        """Get a boolean question answered from the user.
352
325
 
354
327
            line without terminating \\n.
355
328
        :return: True or False for y/yes or n/no.
356
329
        """
357
 
        choice = self.choose(prompt + '?', '&yes\n&no', default=None)
358
 
        return 0 == choice
 
330
        raise NotImplementedError(self.get_boolean)
359
331
 
360
332
    def get_integer(self, prompt):
361
333
        """Get an integer from the user.