From: Denton Liu Date: Fri, 13 Dec 2019 22:54:44 GMT Subject: Re: [PATCH v4 1/4] git-p4: yes/no prompts should sanitize user text Message-ID: <20191213225444.GA31452@generichostname> In-Reply-To: <6c23cd56842e76e5c11f32ba59fd7729769ab4b7.1576245481.git.gitgitgadget@gmail.com> Hi Ben, On Fri, Dec 13, 2019 at 01:57:58PM +0000, Ben Keene via GitGitGadget wrote: > From: Ben Keene > > When prompting the user interactively for direction, the tests are > not forgiving of user input format. > > For example, the first query asks for a yes/no response. If the user > enters the full word "yes" or "no" or enters a capital "Y" the test > will fail. > > Create a new function, prompt(prompt_text) where > * prompt_text is the text prompt for the user > * returns a single character where valid return values are > found by inspecting prompt_text for single characters > surrounded by square brackets > > This new function must prompt the user for input and sanitize it by > converting the response to a lower case string, trimming leading and > trailing spaces, and checking if the first character is in the list > of choices. If it is, return the first letter. > > Change the current references to raw_input() to use this new function. > > Since the method requires the returned text to be one of the available > choices, remove the loop from the calling code that handles response > verification. > > Thanks-to: Denton Liu Thanks-to: Denton Liu ? Anyway, it's probably not worth a reroll. Aside from that, all the patches look good to me from a Python perspective. > Signed-off-by: Ben Keene