snapcraft's presentation layer is mixed with logic and logging
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snapcraft |
New
|
Undecided
|
Unassigned |
Bug Description
Snapcraft's UI is basically printing things to the terminal. Sometimes they are printed through the logging module which is redirected to the terminal.
We have some work done to reuse progress bar and tabulation functions, to hide nice animations and colors on terminals that don't support it, and to print more information when debugging. But we need a lot more than that.
We need to process all the messaging through the same module, to make it consistent.
This module should help with the localization of the messages, detecting the features that are supported by the terminal, allow configuration for where and how to save logs, and to show the different levels of debugging that we will support. Separating the presentation layer will allow us to add more niceties as we go.