The text, 'Enter a valid file system path, without file extension, and with escaped backslashes.', is appended to the user-provided query preface in the Execute() method of the UserQueryCommandPathSave and UserQueryCommandPathOpen classes. the 'without file extension' assumes that the path is intended to save or open a python pickle file. In other words, it makes a narrow assumption about the reason a path is being requested. Note that the Execute() code will accept and return a path with a file extension, so the code is broader in application than the prompt to the user implies. Think about whether the best approach here is to let the author of code using these classes decide whether an extension is needed or not, and to place any necessary instruction into the query preface itself, rather than appending the instruction automatically. It is easy to imagine instances where a file extension is needed. Another option would be to add an argument to the init(...) methods of these classes that would provide the default extension, such as '.txt', with None as a default value indicating no extension.
The text, 'Enter a valid file system path, without file extension, and with escaped backslashes.', is appended to the user-provided query preface in the Execute() method of the UserQueryCommandPathSave and UserQueryCommandPathOpen classes. the 'without file extension' assumes that the path is intended to save or open a python pickle file. In other words, it makes a narrow assumption about the reason a path is being requested. Note that the Execute() code will accept and return a path with a file extension, so the code is broader in application than the prompt to the user implies. Think about whether the best approach here is to let the author of code using these classes decide whether an extension is needed or not, and to place any necessary instruction into the query preface itself, rather than appending the instruction automatically. It is easy to imagine instances where a file extension is needed. Another option would be to add an argument to the init(...) methods of these classes that would provide the default extension, such as '.txt', with None as a default value indicating no extension.