Coverage for lib/lottie/__init__.py: 61%

24 statements  

« prev     ^ index     » next       coverage.py v7.2.2, created at 2023-03-20 16:17 +0100

1import os 

2import subprocess 

3from . import objects, parsers, utils, exporters, nvector, importers 

4from .nvector import * 

5from .utils.color import Color 

6 

7try: 

8 from .version import __version__ 

9except ImportError: 

10 here = os.path.dirname(os.path.abspath(__file__)) 

11 pipe = subprocess.Popen( 

12 ['git', 'describe', '--abbrev=0', '--tags'], 

13 cwd=here, 

14 stderr=subprocess.DEVNULL, 

15 stdout=subprocess.PIPE 

16 ) 

17 out, err = pipe.communicate() 

18 if pipe.returncode == 0: 18 ↛ 21line 18 didn't jump to line 21, because the condition on line 18 was never false

19 __version__ = out.strip()[1:].decode("ascii") + "+git" 

20 else: 

21 vfn = os.path.join(os.path.dirname(os.path.dirname(here)), "version") 

22 if os.path.exists(vfn): 

23 with open(vfn) as vf: 

24 __version__ = vf.read().strip() + "+src" 

25 else: 

26 __version__ = "unknown" 

27 

28try: 

29 version_tuple = tuple(map(int, __version__.split("+")[0].split("."))) if __version__ != "unknown" else (0, 0, 0) 

30except ValueError: 

31 version_tuple = (0, 0, 0) 

32 __version__ = "unknown" 

33 

34 

35__all__ = ["objects", "parsers", "utils", "exporters", "nvector", "NVector", "Point", "Color", "importers"]