def create_fake_projects(creator, depth, num_logs, level=1, parent=None): #auth = Auth(user=creator) if depth < 0: return None descriptor = choice(descriptors) if (level % 2 == 0) else 'project' project_title = parent.title + (': ' + CATEGORY_MAP[descriptor]) if (level % 2 == 0) else fake.word() project = NodeFactory.build(title=project_title, description=fake.sentences(), creator=creator, parent=parent, is_public=True, privacy='public', category=descriptor) project.save() for i in range(int(num_logs)): project.add_log('wiki_updated', { 'node': project._id, }, Auth(creator), ) project.save() nextlevel = level + 1 nextdepth = int(depth) - 1 for i in range(nextlevel): create_fake_projects(creator, nextdepth, num_logs, nextlevel, project) return project