Skip to content

Commit

Permalink
remove dupe streamblock and streamsubblock
Browse files Browse the repository at this point in the history
  • Loading branch information
Brad Morton committed Jun 19, 2023
1 parent ef282c1 commit e8e972b
Showing 1 changed file with 0 additions and 54 deletions.
54 changes: 0 additions & 54 deletions src/wagtail_factories/blocks.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,60 +95,6 @@ def generate(self, step, params):

return retval


class StreamBlockSubFactory(factory.SubFactory):

def __call__(self, **kwargs):
return self.generate(None, kwargs)

def generate(self, step, params):
result = defaultdict(lambda: defaultdict(lambda: defaultdict()))
subfactory = self.get_factory()

for key, value in params.items():
parts = key.split('__', 2)
index = parts[0]
if index.isdigit():
index = int(index)
else:
continue

block_name = parts[1]

if len(parts) == 2:
result[index][block_name][block_name] = value
if len(parts) == 3:
param = parts[2]
result[index][block_name][block_name + "__" + param] = value

retval = []
for index, block_items in sorted(result.items()):
for block_name, block_params in block_items.items():
block_params['_block_name'] = block_name
step_builder = factory.builder.StepBuilder(
subfactory._meta,
block_params,
"build"
)
built = step_builder.build()
retval.append((block_name, built))

return blocks.StreamValue(subfactory._meta.model(), retval)


class StreamBlockFactory(factory.Factory):

@classmethod
def _build(cls, model_class, *args, **kwargs):
block = model_class()
block_name = kwargs['_block_name']
block_params = kwargs.get(block_name, None)
return block.to_python([{"type": block_name, "value": block_params}])[0].value

@classmethod
def _create(cls, model_class, *args, **kwargs):
return cls._build(model_class, *args, **kwargs)

class BlockFactory(factory.Factory):
class Meta:
abstract = True
Expand Down

0 comments on commit e8e972b

Please sign in to comment.