Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py: 88%
12 statements
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
« prev ^ index » next coverage.py v6.4.4, created at 2023-07-17 14:22 -0600
1# This file is dual licensed under the terms of the Apache License, Version
2# 2.0, and the BSD License. See the LICENSE file in the root of this repository
3# for complete details.
4from __future__ import absolute_import, division, print_function
6import sys
9PY2 = sys.version_info[0] == 2
10PY3 = sys.version_info[0] == 3
12# flake8: noqa
14if PY3: 14 ↛ 17line 14 didn't jump to line 17, because the condition on line 14 was never false
15 string_types = str,
16else:
17 string_types = basestring,
20def with_metaclass(meta, *bases):
21 """
22 Create a base class with a metaclass.
23 """
24 # This requires a bit of explanation: the basic idea is to make a dummy
25 # metaclass for one level of class instantiation that replaces itself with
26 # the actual metaclass.
27 class metaclass(meta):
28 def __new__(cls, name, this_bases, d):
29 return meta(name, bases, d)
30 return type.__new__(metaclass, 'temporary_class', (), {})