From cbfa648549739fb89c8ebac2d561946e7dd207b1 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Fri, 11 Oct 2024 00:49:57 -0400 Subject: [PATCH] make sure extension matching is case insensitive --- kojihub/kojihub.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kojihub/kojihub.py b/kojihub/kojihub.py index 96ab17e3..34358cb3 100644 --- a/kojihub/kojihub.py +++ b/kojihub/kojihub.py @@ -7811,10 +7811,11 @@ def get_archive_type(filename=None, type_name=None, type_id=None, strict=False): query = QueryProcessor( tables=['archivetypes'], columns=['id', 'name', 'description', 'extensions', 'compression_type'], - clauses=[r"%(ext)s = ANY(regexp_split_to_array(extensions, '\s+'))"], + clauses=[r"%(ext)s IN (SELECT lower(s)" + r" FROM unnest(regexp_split_to_array(extensions, '\s+')) AS s)"], ) # match longest extension first. e.g. .tar.gz before .gz - parts = filename.split('.') + parts = filename.lower().split('.') for start in range(len(parts)): ext = '.'.join(parts[start:]) query.values['ext'] = ext