From: Hess Chen Date: Sat, 1 Apr 2017 05:33:04 +0000 (+0800) Subject: BaseTools/UPT: Support Unicode path X-Git-Tag: edk2-stable201903~4242 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=09e27ac559c5538a0b86afb0b056ef2a3f705483 BaseTools/UPT: Support Unicode path Update the IpiDb.py to support Unicode path for localization Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen Reviewed-by: Yonghong Zhu --- diff --git a/BaseTools/Source/Python/UPT/Core/IpiDb.py b/BaseTools/Source/Python/UPT/Core/IpiDb.py index 2c444f903c..f147963288 100644 --- a/BaseTools/Source/Python/UPT/Core/IpiDb.py +++ b/BaseTools/Source/Python/UPT/Core/IpiDb.py @@ -1,7 +1,7 @@ ## @file # This file is for installed package information database operations # -# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.
# # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this @@ -44,7 +44,7 @@ class IpiDatabase(object): Dir = os.path.dirname(DbPath) if not os.path.isdir(Dir): os.mkdir(Dir) - self.Conn = sqlite3.connect(DbPath, isolation_level='DEFERRED') + self.Conn = sqlite3.connect(unicode(DbPath), isolation_level='DEFERRED') self.Conn.execute("PRAGMA page_size=4096") self.Conn.execute("PRAGMA synchronous=OFF") self.Cur = self.Conn.cursor() @@ -614,8 +614,8 @@ class IpiDatabase(object): # @param DistributionFile: Distribution File # def GetDpByName(self, DistributionFile): - SqlCommand = """select * from %s where NewPkgFileName like '%s'""" % \ - (self.DpTable, '%' + DistributionFile) + SqlCommand = """select * from %s where NewPkgFileName = '%s'""" % \ + (self.DpTable, DistributionFile) self.Cur.execute(SqlCommand) for Result in self.Cur: diff --git a/BaseTools/Source/Python/UPT/UPT.py b/BaseTools/Source/Python/UPT/UPT.py index 873492d4f0..d98b469640 100644 --- a/BaseTools/Source/Python/UPT/UPT.py +++ b/BaseTools/Source/Python/UPT/UPT.py @@ -19,8 +19,13 @@ UPT ## import modules # -from Core import FileHook +import locale import sys +encoding = locale.getdefaultlocale()[1] +if encoding: + reload(sys) + sys.setdefaultencoding(encoding) +from Core import FileHook import os.path from sys import platform import platform as pf