blob: 635abf65402119fbe5a436e20ac1dc067240f544 [file] [log] [blame]
Brad Bishop8ffe1e42016-02-11 16:15:40 -05001# Contributors Listed Below - COPYRIGHT 2016
2# [+] International Business Machines Corp.
3#
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
14# implied. See the License for the specific language governing
15# permissions and limitations under the License.
16
Brad Bishopaea38c62018-01-30 13:00:26 -050017
Brad Bishopb00a9892016-09-19 10:58:46 -040018def org_dot_openbmc_match_strings(sep='.', prefix=''):
Brad Bishop91ae8f92016-09-08 21:21:44 -040019 matches = [
20 ['org', 'openbmc'],
Brad Bishop25af4ba2016-09-15 15:37:02 -040021 ['xyz', 'openbmc_project'],
Brad Bishop91ae8f92016-09-08 21:21:44 -040022 ]
Brad Bishop25af4ba2016-09-15 15:37:02 -040023
Brad Bishopb00a9892016-09-19 10:58:46 -040024 return [prefix + sep.join(y) for y in matches]
Brad Bishop25af4ba2016-09-15 15:37:02 -040025
26
Brad Bishopb00a9892016-09-19 10:58:46 -040027def org_dot_openbmc_match(name, sep='.', prefix=''):
28 names = org_dot_openbmc_match_strings(sep=sep, prefix=prefix)
Brad Bishop91ae8f92016-09-08 21:21:44 -040029 return any(
Brad Bishopbf720472016-09-19 10:34:23 -040030 [x in name or name in x for x in names])
Brad Bishop8ffe1e42016-02-11 16:15:40 -050031
32
Brad Bishop8ffe1e42016-02-11 16:15:40 -050033def find_case_insensitive(value, lst):
34 return next((x for x in lst if x.lower() == value.lower()), None)
35
36
37def makelist(data):
38 if isinstance(data, list):
39 return data
40 elif data:
41 return [data]
42 else:
43 return []