The JSON output from lsblk seems to have some issues that interfere with the `json.loads()` function. Specifically, the value 0B, which is expected to be a string.
By doing a direct replace on the lsblk output for `0B` on `menu.py`, the JSON is parsed and the menu appears.
I don't thing this is entirely correct but I have no example at hand.
You should be able to create a filesystem on e.g. /dev/sde directly without
creating a partition /dev/sde1 first. So, technically this "parent" without
"children" should be mountable.
Since the script does not consider this. This commit filters for
elements/"parents" without "children".
For most cases this will keep the height of the output smaller not to run into a
curses crash. Not ideal and the curses crashes should get looked at, but for now
this will do to reduce crashes with small windows and large amount or block
devices – thanks snap.