summaryrefslogtreecommitdiff
path: root/BaseTools
diff options
context:
space:
mode:
authorHess Chen <hesheng.chen@intel.com>2017-04-01 13:33:04 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2017-04-05 10:45:50 +0800
commit09e27ac559c5538a0b86afb0b056ef2a3f705483 (patch)
tree8e5efe1efac6042166f88b603dbf7b85baa8c170 /BaseTools
parent5692fa883f4e2583bbef9aae4082b87515ae51e1 (diff)
downloadedk2-platforms-09e27ac559c5538a0b86afb0b056ef2a3f705483.tar.xz
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 <hesheng.chen@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Diffstat (limited to 'BaseTools')
-rw-r--r--BaseTools/Source/Python/UPT/Core/IpiDb.py8
-rw-r--r--BaseTools/Source/Python/UPT/UPT.py7
2 files changed, 10 insertions, 5 deletions
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.<BR>
+# Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
#
# 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