[edk2-devel] [PATCH] BaseTools:Updata the Judgment Method of "--exclude"
Liming Gao
liming.gao at intel.com
Thu Jun 27 07:36:37 UTC 2019
Zhiju:
Please keep original behavior on --exclude for the directory name or file name.
> -----Original Message-----
> From: Fan, ZhijuX
> Sent: Thursday, June 27, 2019 10:55 AM
> To: devel at edk2.groups.io
> Cc: Gao, Liming <liming.gao at intel.com>; Feng, Bob C <bob.c.feng at intel.com>
> Subject: [PATCH] BaseTools:Updata the Judgment Method of "--exclude"
>
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1944
>
> --exclude cannot be used under certain circumstances
> 1.The value of the parameter USES an absolute path
> 2.The value of Exclude parameters is based on the value
> of the Path parameter
> Neither of these approaches currently works
>
> This patch is going to fix that issue.
>
> Cc: Liming Gao <liming.gao at intel.com>
> Cc: Bob Feng <bob.c.feng at intel.com>
> Signed-off-by: Zhiju.Fan <zhijux.fan at intel.com>
> ---
> BaseTools/Scripts/FormatDosFiles.py | 18 +++++++++++++++---
> 1 file changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/BaseTools/Scripts/FormatDosFiles.py b/BaseTools/Scripts/FormatDosFiles.py
> index d9a880f299..7a5af209f2 100644
> --- a/BaseTools/Scripts/FormatDosFiles.py
> +++ b/BaseTools/Scripts/FormatDosFiles.py
> @@ -20,7 +20,7 @@ import copy
>
> __prog__ = 'FormatDosFiles'
> __version__ = '%s Version %s' % (__prog__, '0.10 ')
> -__copyright__ = 'Copyright (c) 2018, Intel Corporation. All rights reserved.'
> +__copyright__ = 'Copyright (c) 2019, Intel Corporation. All rights reserved.'
> __description__ = 'Convert source files to meet the EDKII C Coding Standards Specification.\n'
> DEFAULT_EXT_LIST = ['.h', '.c', '.nasm', '.nasmb', '.asm', '.S', '.inf', '.dec', '.dsc', '.fdf', '.uni', '.asl', '.aslc', '.vfr', '.idf', '.txt', '.bat', '.py']
>
> @@ -46,10 +46,22 @@ def FormatFile(FilePath, Args):
> def FormatFilesInDir(DirPath, ExtList, Args):
>
> FileList = []
> + ExcludeDir = DirPath
> for DirPath, DirNames, FileNames in os.walk(DirPath):
> if Args.Exclude:
> - DirNames[:] = [d for d in DirNames if d not in Args.Exclude]
> - FileNames[:] = [f for f in FileNames if f not in Args.Exclude]
> + Continue = False
> + for Path in Args.Exclude:
> + if not os.path.isdir(Path) and not os.path.isfile(Path):
> + Path = os.path.join(ExcludeDir, Path)
> + if os.path.isdir(Path) and Path.endswith(DirPath):
> + Continue = True
> + elif os.path.isfile(Path):
> + for ItemPath in FileNames[:]:
> + FilePath = os.path.join(DirPath, ItemPath)
> + if Path.endswith(FilePath):
> + FileNames.remove(ItemPath)
> + if Continue:
> + continue
> for FileName in [f for f in FileNames if any(f.endswith(ext) for ext in ExtList)]:
> FileList.append(os.path.join(DirPath, FileName))
> for File in FileList:
> --
> 2.14.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#42922): https://edk2.groups.io/g/devel/message/42922
Mute This Topic: https://groups.io/mt/32227595/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list