This is the input complement to the output decoding added in 2cb245f4eb.
In Admin.py, some output is passed back in as input, which causes a crash in Python 3 without this change.
Somewhat related (and possibly controversial) thoughts: The codebase is getting rather hairy due to having support for both modern and ancient versions of Python. How likely is it that a distribution will include a 2021+ version of bcfg2, but not have a version of Python 3 from at least 2017? Would it be reasonable to drop the 1.4 release entirely, and instead focus on a hypothetical 2.0 with support only for Python 3.6+, or something along those lines? I understand the desire to keep compatibility with existing software, and the amount of work put into bcfg2 towards this goal is commendable. It would certainly be a shame to discard it all, but does it still provide enough benefit to justify the added maintenance burden?
This is the input complement to the output decoding added in 2cb245f4eb.
In
Admin.py
, some output is passed back in as input, which causes a crash in Python 3 without this change.Somewhat related (and possibly controversial) thoughts: The codebase is getting rather hairy due to having support for both modern and ancient versions of Python. How likely is it that a distribution will include a 2021+ version of bcfg2, but not have a version of Python 3 from at least 2017? Would it be reasonable to drop the 1.4 release entirely, and instead focus on a hypothetical 2.0 with support only for Python 3.6+, or something along those lines? I understand the desire to keep compatibility with existing software, and the amount of work put into bcfg2 towards this goal is commendable. It would certainly be a shame to discard it all, but does it still provide enough benefit to justify the added maintenance burden?