Honestly I haven't even really sat down on my pc to look at it. I took on a big job at work and I've just been crazy busy, plus it's tax time and I do all my own book work so I've been busy with that too. It doesn't break in Python 2.7 but apparently still breaks Python 3. I thought I tested on both versions of Python when I submitted my pull request to
@cearp github. Then
@nexusmtz pointed something out on the github issues page that rather embarrassed me. You see, as many times as I've read the script, I never really noticed or payed ANY attention to the already existing log function. This log function does exactly what I tried doing many times before I resorted to wrapping it with repr(), which obviously is a shitty solution since it still breaks in Python 3. I was just trying to get SOME print output, so I read about replacing the un-printable chars with a '?'. I tried many times but was using it wrong obviously so I assumed I had to resort to what I eventually submitted as my pull request. The better solution is already in the script and most of the print statements should just be ran through the existing log function. I just tested this on both versions of Python and didn't break either one, just prints a '?' where the char is instead of the unicode char string representation like I ended up going with. If I get time I could redirect the print statements and submit a new pull request maybe later today. I feel kind of stupid because I swear I tried doing exactly what this log function does but I just couldn't get it to work proplerly, I realize what I was doing wrong now that I see how it's properly used.