MCPcopy Create free account
hub / github.com/Vespa314/chan.py / CChanPlotMeta

Class CChanPlotMeta

Plot/PlotMeta.py:118–170  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

116
117
118class CChanPlotMeta:
119 def __init__(self, kl_list: CKLine_List):
120 self.data = kl_list
121
122 self.klc_list: List[Cklc_meta] = [Cklc_meta(klc) for klc in kl_list.lst]
123 self.datetick = [klu.time.to_str() for klu in self.klu_iter()]
124 self.klu_len = sum(len(klc.klu_list) for klc in self.klc_list)
125
126 self.bi_list = [CBi_meta(bi) for bi in kl_list.bi_list]
127
128 self.seg_list: List[CSeg_meta] = []
129 self.eigenfx_lst: List[CEigenFX_meta] = []
130 for seg in kl_list.seg_list:
131 self.seg_list.append(CSeg_meta(seg))
132 if seg.eigen_fx:
133 self.eigenfx_lst.append(CEigenFX_meta(seg.eigen_fx))
134
135 self.seg_eigenfx_lst: List[CEigenFX_meta] = []
136 self.segseg_list: List[CSeg_meta] = []
137 for segseg in kl_list.segseg_list:
138 self.segseg_list.append(CSeg_meta(segseg))
139 if segseg.eigen_fx:
140 self.seg_eigenfx_lst.append(CEigenFX_meta(segseg.eigen_fx))
141
142 self.zs_lst: List[CZS_meta] = [CZS_meta(zs) for zs in kl_list.zs_list]
143 self.segzs_lst: List[CZS_meta] = [CZS_meta(segzs) for segzs in kl_list.segzs_list]
144
145 self.bs_point_lst: List[CBS_Point_meta] = [CBS_Point_meta(bs_point, is_seg=False) for bs_point in kl_list.bs_point_lst.bsp_iter()]
146 self.seg_bsp_lst: List[CBS_Point_meta] = [CBS_Point_meta(seg_bsp, is_seg=True) for seg_bsp in kl_list.seg_bs_point_lst.bsp_iter()]
147
148 def klu_iter(self):
149 for klc in self.klc_list:
150 yield from klc.klu_list
151
152 def sub_last_kseg_start_idx(self, seg_cnt):
153 if seg_cnt is None or len(self.data.seg_list) <= seg_cnt:
154 return 0
155 else:
156 return self.data.seg_list[-seg_cnt].get_begin_klu().sub_kl_list[0].idx
157
158 def sub_last_kbi_start_idx(self, bi_cnt):
159 if bi_cnt is None or len(self.data.bi_list) <= bi_cnt:
160 return 0
161 else:
162 return self.data.bi_list[-bi_cnt].begin_klc.lst[0].sub_kl_list[0].idx
163
164 def sub_range_start_idx(self, x_range):
165 for klc in self.data[::-1]:
166 for klu in klc[::-1]:
167 x_range -= 1
168 if x_range == 0:
169 return klu.sub_kl_list[0].idx
170 return 0

Callers 1

GetPlotMetaFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected