-
Notifications
You must be signed in to change notification settings - Fork 106
Description
I think it would nice and elegant if the same object could be used both as a formatter and a parser. This can be achieved by adding a format method:
>>> p = compile("It's {}, I love it!")
>>> p.parse("It's spam, I love it!")
<Result ('spam',) {}>
>>> p.format('spam') # <---- This is the new suggested method
"It's spam, I love it!"Granted, one could simply hold on to the original string and use that, but I think it's useful if we only needed the Parser object for both of these. For example, if you pass the Parser as an argument to a function, currently you need to pass the format string as well, otherwise you have to access the internal _format field.
At the very least, we should have a get_format method to retrieve the internal _format field.
Another reason is that if we are using two different objects for formatting and for parsing, it increases the chance that someone creates a bug by changing one of the objects and forgetting to change the other one.