The table would be a bit easier to read if it were
sorted by first column, then second column.
cfgfile content file name file contents
---------------------------------------------
filename None cfgfile file is opened and
read
filename stream cfgfile stream is read
filename string cfgfile content
stream None stream.name stream is read
None stream 'stream' stream is read
None string 'heredoc' content
It might be even easier to give rules.
If cfgfile is not None, it is used to provide the name of
the configuration file.
If content is not None, it is used to provide the
contents of the configuration file.
If content is None, that cfgfile is opened and read to
provide the contents.