MCPcopy
hub / github.com/BIT-DataLab/Edit-Banana / _sort_fragments

Method _sort_fragments

modules/xml_merger.py:338–351  ·  view source on GitHub ↗

排序XML片段 排序规则: 1. 首先按 layer_level 升序(小的在底层,先写入XML) 2. 同层级内按面积降序(大的在下,先写入) DrawIO的Z轴规则:先写入的在底层,后写入的在顶层

(self, fragments: List[XMLFragment])

Source from the content-addressed store, hash-verified

336 return fragments
337
338 def _sort_fragments(self, fragments: List[XMLFragment]) -> List[XMLFragment]:
339 """
340 排序XML片段
341
342 排序规则:
343 1. 首先按 layer_level 升序(小的在底层,先写入XML)
344 2. 同层级内按面积降序(大的在下,先写入)
345
346 DrawIO的Z轴规则:先写入的在底层,后写入的在顶层
347 """
348 return sorted(
349 fragments,
350 key=lambda f: (f.layer_level, -f.area) # layer升序,area降序
351 )
352
353 def _build_xml_structure(self,
354 canvas_width: int,

Callers 1

processMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected