Coverage for pyguymer3/media/parse_CLPI_file.py: 4%

28 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-07-08 18:47 +0000

1#!/usr/bin/env python3 

2 

3# Define function ... 

4def parse_CLPI_file( 

5 br, 

6 ip, 

7 /, 

8): 

9 # Import sub-functions ... 

10 from .CLPI import load_header 

11 from .CLPI import load_ClipInfo 

12 from .CLPI import load_ClipMark 

13 from .CLPI import load_CPI 

14 from .CLPI import load_ExtensionData 

15 from .CLPI import load_ProgramInfo 

16 from .CLPI import load_SequenceInfo 

17 

18 # Create dictionary to hold information ... 

19 info = {} 

20 

21 # Open file ... 

22 with open(f"{br}/BDMV/CLIPINF/{ip:05d}.clpi", "rb") as fObj: 

23 # Load header ... 

24 info["header"] = load_header(fObj) 

25 

26 # Load ClipInfo section ... 

27 info["ClipInfo"] = load_ClipInfo(fObj) 

28 

29 # Load SequenceInfo section ... 

30 if info["header"]["SequenceInfoStartAddress"] != 0: 

31 fObj.seek(info["header"]["SequenceInfoStartAddress"]) 

32 info["SequenceInfo"] = load_SequenceInfo(fObj) 

33 

34 # Load ProgramInfo section ... 

35 if info["header"]["ProgramInfoStartAddress"] != 0: 

36 fObj.seek(info["header"]["ProgramInfoStartAddress"]) 

37 info["ProgramInfo"] = load_ProgramInfo(fObj) 

38 

39 # Load CPI section ... 

40 if info["header"]["CPIStartAddress"] != 0: 

41 fObj.seek(info["header"]["CPIStartAddress"]) 

42 info["CPI"] = load_CPI(fObj) 

43 

44 # Load ClipMark section ... 

45 if info["header"]["ClipMarkStartAddress"] != 0: 

46 fObj.seek(info["header"]["ClipMarkStartAddress"]) 

47 info["ClipMark"] = load_ClipMark(fObj) 

48 

49 # Load ExtensionData section ... 

50 if info["header"]["ExtensionDataStartAddress"] != 0: 

51 fObj.seek(info["header"]["ExtensionDataStartAddress"]) 

52 info["ExtensionData"] = load_ExtensionData(fObj) 

53 

54 # Return answer ... 

55 return info