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

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 

5 

6import sys 

7 

8 

9PY2 = sys.version_info[0] == 2 

10PY3 = sys.version_info[0] == 3 

11 

12# flake8: noqa 

13 

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, 

18 

19 

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', (), {})