Skip to content

Commit a25fb26

Browse files
authored
Merge pull request #79 from fosslight/develop
Print warning msg when there is no matched sheet
2 parents f3c8a76 + 21d1e2e commit a25fb26

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

src/fosslight_util/read_excel.py

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,48 @@
1616
def read_oss_report(excel_file, sheet_names=""):
1717
_oss_report_items = []
1818
_xl_sheets = []
19+
all_sheet_to_read = []
20+
not_matched_sheet = []
21+
any_sheet_matched = False
1922
SHEET_PREFIX_TO_READ = ["bin", "bom", "src"]
2023
if sheet_names:
21-
sheet_name_prefix_math = False
24+
sheet_name_prefix_match = False
2225
sheet_name_to_read = sheet_names.split(",")
2326
else:
24-
sheet_name_prefix_math = True
27+
sheet_name_prefix_match = True
2528
sheet_name_to_read = SHEET_PREFIX_TO_READ
2629

2730
try:
2831
logger.info(f"Read data from : {excel_file}")
2932
xl_workbook = xlrd.open_workbook(excel_file)
30-
for sheet_name in xl_workbook.sheet_names():
33+
all_sheet_in_excel = xl_workbook.sheet_names()
34+
35+
for sheet_to_read in sheet_name_to_read:
3136
try:
32-
sheet_name_lower = sheet_name.lower()
33-
if any(((sheet_name_prefix_math and sheet_name_lower.startswith(sheet_to_read.lower()))
34-
or sheet_name_lower == sheet_to_read.lower())
35-
for sheet_to_read in sheet_name_to_read):
36-
sheet = xl_workbook.sheet_by_name(sheet_name)
37-
if sheet:
38-
logger.info(f"Load a sheet: {sheet_name}")
39-
_xl_sheets.append(sheet)
37+
any_sheet_matched = False
38+
sheet_to_read_lower = sheet_to_read.lower()
39+
all_sheet_to_read.append(sheet_to_read_lower)
40+
for sheet_name in all_sheet_in_excel:
41+
sheet_name_lower = sheet_name.lower()
42+
if (sheet_name_prefix_match and sheet_name_lower.startswith(sheet_to_read_lower)) \
43+
or sheet_to_read_lower == sheet_name_lower:
44+
sheet = xl_workbook.sheet_by_name(sheet_name)
45+
if sheet:
46+
logger.info(f"Load a matched sheet: {sheet_name}")
47+
_xl_sheets.append(sheet)
48+
any_sheet_matched = True
49+
if not any_sheet_matched:
50+
not_matched_sheet.append(sheet_to_read)
4051
except Exception as error:
4152
logger.debug(f"Failed to load sheet: {sheet_name} {error}")
4253

54+
# Not matched any sheet
55+
if len(sheet_name_to_read) == len(not_matched_sheet):
56+
logger.warning("No sheet names are matched.")
57+
# Partially matched
58+
elif (not sheet_name_prefix_match) and not_matched_sheet:
59+
logger.warning(f"Not matched sheet name: {not_matched_sheet}")
60+
4361
for xl_sheet in _xl_sheets:
4462
_item_idx = {
4563
"ID": IDX_CANNOT_FOUND,

0 commit comments

Comments
 (0)