45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
|
|
from .opf_utils import *
|
||
|
|
|
||
|
|
|
||
|
|
class OPFParametersParser:
|
||
|
|
@staticmethod
|
||
|
|
def parse(opf_id: int, *args) -> list:
|
||
|
|
if opf_id in [1]:
|
||
|
|
return parse_link_training(args[3])
|
||
|
|
if opf_id in [2]:
|
||
|
|
return parse_video_mode_2(args[3])
|
||
|
|
if opf_id in [3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 16, 17, 101, 102, 104, 105, 106, 121, 122, 123, 145, 150, 152, 161]:
|
||
|
|
return parse_message(args[1])
|
||
|
|
if opf_id in [6]:
|
||
|
|
return parse_video_mode_6(args[1], args[3])
|
||
|
|
if opf_id in [9]:
|
||
|
|
return parse_video_mode_9(args[3], args[1])
|
||
|
|
if opf_id in [10]:
|
||
|
|
return parse_opf_10(args[3])
|
||
|
|
if opf_id in [18]:
|
||
|
|
return parse_video_mode_18(args[3])
|
||
|
|
if opf_id in [19]:
|
||
|
|
return parse_video_mode_19(args[3])
|
||
|
|
if opf_id in [20]:
|
||
|
|
return parse_video_mode_20(args[3], args[1])
|
||
|
|
if opf_id in [21]:
|
||
|
|
return parse_opf_21(args[3])
|
||
|
|
if opf_id in [103]:
|
||
|
|
return parse_video_mode_103(args[3])
|
||
|
|
if opf_id in [120]:
|
||
|
|
return parse_video_mode_120(args[3])
|
||
|
|
if opf_id in [140]:
|
||
|
|
return parse_video_mode_140(args[3])
|
||
|
|
if opf_id in [141]:
|
||
|
|
return parse_video_mode_141(args[3])
|
||
|
|
if opf_id in [142]:
|
||
|
|
return [args[1]]
|
||
|
|
if opf_id in [143]:
|
||
|
|
return parse_video_mode_143(args[3])
|
||
|
|
if opf_id in [144]:
|
||
|
|
return parse_video_mode_144(args[3])
|
||
|
|
if opf_id in [151]:
|
||
|
|
return parse_video_mode_103(args[3])
|
||
|
|
else:
|
||
|
|
raise ValueError(f"Received OPF request with unknown code: {opf_id}")
|