Skip to content

Commit 9850936

Browse files
authored
feat: add cmasher colormaps (#75)
* feat: add cmasher colormaps * sort record files
1 parent 048b7fc commit 9850936

File tree

4 files changed

+20426
-3
lines changed

4 files changed

+20426
-3
lines changed

LICENSE/LICENSE_CMASHER

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
BSD 3-Clause License
2+
3+
Copyright (c) 2019-2021, Ellert van der Velden
4+
All rights reserved.
5+
6+
Redistribution and use in source and binary forms, with or without
7+
modification, are permitted provided that the following conditions are met:
8+
9+
* Redistributions of source code must retain the above copyright notice, this
10+
list of conditions and the following disclaimer.
11+
12+
* Redistributions in binary form must reproduce the above copyright notice,
13+
this list of conditions and the following disclaimer in the documentation
14+
and/or other materials provided with the distribution.
15+
16+
* Neither the name of the copyright holder nor the names of its
17+
contributors may be used to endorse or promote products derived from
18+
this software without specific prior written permission.
19+
20+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

src/cmap/_catalog.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,9 +238,17 @@ def __init__(
238238
# _rev_aliases maps fully qualified names to a list of aliases
239239
self._rev_aliases: dict[str, list[str]] = {}
240240

241-
for name, data in _build_catalog(
242-
sorted(data_root.rglob(record_pattern))
243-
).items():
241+
# sort record files. Put matplotlib-related names first so that un-namespaced
242+
# names resolve to the matplotlib colormaps by default.
243+
MPL_PRIORTY_NAMESPACES = ("matplotlib", "bids", "matlab", "gnuplot")
244+
245+
def _sorter(x: Path) -> tuple[int, Path]:
246+
if any(s in str(x) for s in MPL_PRIORTY_NAMESPACES):
247+
return (0, x)
248+
return (1, x)
249+
250+
record_files = sorted(data_root.rglob(record_pattern), key=_sorter)
251+
for name, data in _build_catalog(record_files).items():
244252
normed_name = self._norm_name(name)
245253
self._original_names[name] = normed_name
246254
self._data[normed_name] = data

0 commit comments

Comments
 (0)