def splitListItems(t): nt = t.copy() nt.children = [] for r in t.children: nr = Row() cols = [] maxItems = 0 for cell in r: items = [] for c in cell.children: if c.__class__ == ItemList: items.extend(c.children) cols.append(items) maxItems = max(maxItems,len(items)) for i in range(maxItems): for (j,col) in enumerate(cols): try: item = cols[j][i] il = ItemList() il.appendChild(item) nc = Cell() nc.appendChild(il) nr.appendChild(nc) except IndexError: nr.appendChild(Cell()) nt.appendChild(nr) nr = Row() return nt
def splitListItems(t): nt = t.copy() nt.children = [] for r in t.children: nr = Row() cols = [] maxItems = 0 for cell in r: items = [] for c in cell.children: if c.__class__ == ItemList: items.extend(c.children) cols.append(items) maxItems = max(maxItems,len(items)) for i in range(maxItems): for (j,col) in enumerate(cols): try: item = cols[j][i] il = ItemList() il.appendChild(item) nc = Cell() nc.appendChild(il) nr.appendChild(nc) except IndexError: nr.appendChild(Cell()) nt.appendChild(nr) nr = Row() return nt
def reduceCols(t, colnum=2): nt = t.copy() nt.children = [] for r in t.children: nr = Row() for c in r: nc = c.copy() if len(nr.children) == colnum: nt.appendChild(nr) nr=Row() nr.appendChild(nc) if len(nr.children)>0: while len(nr.children) < colnum: nr.appendChild(Cell()) nt.appendChild(nr) return nt
def reduceCols(t, colnum=2): nt = t.copy() nt.children = [] for r in t.children: nr = Row() for c in r: nc = c.copy() if len(nr.children) == colnum: nt.appendChild(nr) nr=Row() nr.appendChild(nc) if len(nr.children)>0: while len(nr.children) < colnum: nr.appendChild(Cell()) nt.appendChild(nr) return nt