Fix UnicodeDecodeError when commit message contains non-ascii character

Review Request #10121 — Created Aug. 15, 2018 and discarded

Information

RBTools
master

Reviewers

subprocess output data is str type, convert it to unicode when results_unicode is true

  • Posted some changes.
  • Ran unit tests.
Description From Last Updated

When results_unicode is True, subprocess is called with universal_newlines=True. In this case, it should return results as unicode instead of …

daviddavid

E501 line too long (85 > 79 characters)

reviewbotreviewbot
Checks run (1 failed, 1 succeeded)
flake8 failed.
JSHint passed.

flake8

fangwentong
fangwentong
fangwentong
fangwentong
fangwentong
fangwentong
fangwentong
fangwentong
david
  1. 
      
  2. Show all issues

    When results_unicode is True, subprocess is called with universal_newlines=True. In this case, it should return results as unicode instead of bytes. Is there a particular case you're seeing where this isn't working?

    1. Yes, I tested this on MacOS and ubuntu with python2.7, subprocess.communicate() returns str instead of unicode.

      when commit message contains non-ascii character, rbt post --stamp will raise UnicodeDecodeError and fail add stamp to commit message.

      see the test case in diff 6: https://reviews.reviewboard.org/r/10121/diff/6/. this testcase cause flake8 internal error, so I remove the testcase in diff 7

    2. When commit message contains non-ascii character, rbt post -r will fail and prompt UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128).

      Modification in rbtools/utils/console.py fixed this problem.

  3. 
      
david
Review request changed
Status:
Discarded