From 1414866b84fe1fd674ea79500cd62eda3aa30b33 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Tue, 10 May 2016 17:18:22 +0300 Subject: [PATCH] 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] Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- lib/toaster/toastermain/settings.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/toaster/toastermain/settings.py b/lib/toaster/toastermain/settings.py index c7edff2f619..3dfa2b22389 100644 --- a/lib/toaster/toastermain/settings.py +++ b/lib/toaster/toastermain/settings.py @@ -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 -- 2.47.2