'Print a menu on the screen.
:param str message: title of menu
:param choices: Menu lines
:type choices: list of tuples (tag, item) or
list of descriptions (tags will be enumerated)'

def _print_menu(self, message, choices):

    if (choices and isinstance(choices[0], tuple)):
        choices = [('%s    -    %s' % (c[0], c[1])) for c in choices]
    self.outfile.write('{new}{msg}{new}'.format(new=os.linesep, msg=message))
    side_frame = (('-' * 79) + os.linesep)
    self.outfile.write(side_frame)
    for (i, desc) in enumerate(choices, 1):
        msg = '{num}:    {desc}'.format(num=i, desc=desc)
        self.outfile.write(_wrap_lines(msg))
        self.outfile.write(os.linesep)
    self.outfile.write(side_frame)
