bitbake: toaster: read timezone files in binary mode

Used 'rb' mode to open files to avoid unicode error when code
runs on python 3:
   UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80
                       in position 44: invalid start byte

[YOCTO #9584]

(Bitbake rev: 1414866b84fe1fd674ea79500cd62eda3aa30b33)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh 2016-05-10 17:18:22 +03:00 committed by Richard Purdie
parent cf454d74a8
commit 5074c600f3
1 changed files with 3 additions and 4 deletions

View File

@ -87,17 +87,16 @@ else:
try:
import pytz
from pytz.exceptions import UnknownTimeZoneError
pass
try:
if pytz.timezone(zonename) is not None:
zonefilelist[hashlib.md5(open(filepath).read()).hexdigest()] = zonename
zonefilelist[hashlib.md5(open(filepath, 'rb').read()).hexdigest()] = zonename
except UnknownTimeZoneError as ValueError:
# we expect timezone failures here, just move over
pass
except ImportError:
zonefilelist[hashlib.md5(open(filepath).read()).hexdigest()] = zonename
zonefilelist[hashlib.md5(open(filepath, 'rb').read()).hexdigest()] = zonename
TIME_ZONE = zonefilelist[hashlib.md5(open('/etc/localtime').read()).hexdigest()]
TIME_ZONE = zonefilelist[hashlib.md5(open('/etc/localtime', 'rb').read()).hexdigest()]
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html