diff options
author | shumkovnd <shumkovnd@yandex-team.com> | 2023-11-10 14:39:34 +0300 |
---|---|---|
committer | shumkovnd <shumkovnd@yandex-team.com> | 2023-11-10 16:42:24 +0300 |
commit | 77eb2d3fdcec5c978c64e025ced2764c57c00285 (patch) | |
tree | c51edb0748ca8d4a08d7c7323312c27ba1a8b79a /contrib/python/fonttools/fontTools/subset/util.py | |
parent | dd6d20cadb65582270ac23f4b3b14ae189704b9d (diff) | |
download | ydb-77eb2d3fdcec5c978c64e025ced2764c57c00285.tar.gz |
KIKIMR-19287: add task_stats_drawing script
Diffstat (limited to 'contrib/python/fonttools/fontTools/subset/util.py')
-rw-r--r-- | contrib/python/fonttools/fontTools/subset/util.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/contrib/python/fonttools/fontTools/subset/util.py b/contrib/python/fonttools/fontTools/subset/util.py new file mode 100644 index 00000000000..d20e925d7eb --- /dev/null +++ b/contrib/python/fonttools/fontTools/subset/util.py @@ -0,0 +1,25 @@ +"""Private utility methods used by the subset modules""" + + +def _add_method(*clazzes): + """Returns a decorator function that adds a new method to one or + more classes.""" + + def wrapper(method): + done = [] + for clazz in clazzes: + if clazz in done: + continue # Support multiple names of a clazz + done.append(clazz) + assert clazz.__name__ != "DefaultTable", "Oops, table class not found." + assert not hasattr( + clazz, method.__name__ + ), "Oops, class '%s' has method '%s'." % (clazz.__name__, method.__name__) + setattr(clazz, method.__name__, method) + return None + + return wrapper + + +def _uniq_sort(l): + return sorted(set(l)) |