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
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-08 18:47 +0000
1#!/usr/bin/env python3
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
18 # Create dictionary to hold information ...
19 info = {}
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)
26 # Load ClipInfo section ...
27 info["ClipInfo"] = load_ClipInfo(fObj)
29 # Load SequenceInfo section ...
30 if info["header"]["SequenceInfoStartAddress"] != 0:
31 fObj.seek(info["header"]["SequenceInfoStartAddress"])
32 info["SequenceInfo"] = load_SequenceInfo(fObj)
34 # Load ProgramInfo section ...
35 if info["header"]["ProgramInfoStartAddress"] != 0:
36 fObj.seek(info["header"]["ProgramInfoStartAddress"])
37 info["ProgramInfo"] = load_ProgramInfo(fObj)
39 # Load CPI section ...
40 if info["header"]["CPIStartAddress"] != 0:
41 fObj.seek(info["header"]["CPIStartAddress"])
42 info["CPI"] = load_CPI(fObj)
44 # Load ClipMark section ...
45 if info["header"]["ClipMarkStartAddress"] != 0:
46 fObj.seek(info["header"]["ClipMarkStartAddress"])
47 info["ClipMark"] = load_ClipMark(fObj)
49 # Load ExtensionData section ...
50 if info["header"]["ExtensionDataStartAddress"] != 0:
51 fObj.seek(info["header"]["ExtensionDataStartAddress"])
52 info["ExtensionData"] = load_ExtensionData(fObj)
54 # Return answer ...
55 return info