ChatExplorer / utils.py
thomasgauthier's picture
forgot some files
4cf5293
raw
history blame
650 Bytes
import mistune
# Define a renderer that inherits from the mistune Renderer
class CodeExtractor(mistune.HTMLRenderer):
def __init__(self):
super().__init__()
self.code_blocks = []
def block_code(self, code, info=None):
self.code_blocks.append(code)
return super().block_code(code, info)
def extract_code(markdown_text):
renderer = CodeExtractor()
markdown = mistune.create_markdown(renderer=renderer)
markdown(markdown_text)
code_blocks = renderer.code_blocks
found = [code for code in code_blocks if 'def transform_data(data):' in code]
return found[0] if len(found) > 0 else None