From 7b379c466dfa4bac4d7a4ed0d88e8c30452e3129 Mon Sep 17 00:00:00 2001 From: Bensong Liu <bensl@microsoft.com> Date: Mon, 5 Oct 2020 18:03:56 +0800 Subject: [PATCH] Disallow `.` in ID string --- summerize-part-list/tool_search_part_user.py | 10 +++++++--- utils.py | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/summerize-part-list/tool_search_part_user.py b/summerize-part-list/tool_search_part_user.py index 5ae60a1..06912ba 100644 --- a/summerize-part-list/tool_search_part_user.py +++ b/summerize-part-list/tool_search_part_user.py @@ -23,9 +23,13 @@ import config, xlsx_conv, utils def main(): def contains_id(fname, _id): - s = xlsx_conv.read_as_csv(fname) - s = s.replace(' ', '').replace(',', '') - return s.find(_id) != -1 + try: + s = xlsx_conv.read_as_csv(fname) + s = s.replace(' ', '').replace(',', '') + return s.find(_id) != -1 + except: + # Catch PermissionError etc. + return False if len(sys.argv) == 1: raise RuntimeError('Usage: drag a file into me...') diff --git a/utils.py b/utils.py index dc6dbf9..3b7bba8 100644 --- a/utils.py +++ b/utils.py @@ -40,7 +40,7 @@ def npmat_truncate_cols(mat, max_cols): def get_id_prefix_from_string(s): first_illegal_char_index = 0 for i, c in enumerate(s.replace(' ', '')): - if c not in 'QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm.-': + if c not in 'QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm-': break else: first_illegal_char_index = i + 1 -- GitLab