Error running BTree.py on MicroPython

Discussion about programs, libraries and tools that work with MicroPython. Mostly these are provided by a third party.
Target audience: All users and developers of MicroPython.
Post Reply
tigadad
Posts: 1
Joined: Thu Jul 14, 2022 5:58 am

Error running BTree.py on MicroPython

Post by tigadad » Thu Jul 14, 2022 6:09 am

I am trying to install (run) BTree.py in MicroPython on the RP2040. This is the chunk of code and it reports syntax error at the third last line "def _build_bulkloaded_branches ...". Can anyone suggest what I missed - after all I am definitely a newbie.

@classmethod
def bulkload(cls, items, order):
tree = object.__new__(cls)
tree.order = order

leaves = tree._build_bulkloaded_leaves(items)
tree._build_bulkloaded_branches(leaves)

return tree

def _build_bulkloaded_leaves(self, items):
minimum = self.order // 2
leaves, seps = [[]], []

for item in items:
if len(leaves[-1]) < self.order:
leaves[-1].append(item)
else:
seps.append(item)
leaves.append([])

if len(leaves[-1]) < minimum and seps:
last_two = leaves[-2] + [seps.pop()] + leaves[-1]
leaves[-2] = last_two[:minimum]
leaves[-1] = last_two[minimum + 1:]
seps.append(last_two[minimum])

return [self.LEAF(self, contents=node) for node in leaves], seps

def _build_bulkloaded_branches(self, (leaves, seps)):
minimum = self.order // 2
levels = [leaves]

tepalia02
Posts: 99
Joined: Mon Mar 21, 2022 5:13 am

Re: Error running BTree.py on MicroPython

Post by tepalia02 » Thu Jul 14, 2022 6:48 am

Hi, can you copy-paste the error message that you're seeing?

Post Reply