def plugin_cdata_handler(branch, subdir, cdata_blocks): '''Receive the cdata blocks and forward them to the appropriate plugin.''' plugin_blocks = [] plugin_blocks_pdf = [] plugin_pandoc_opts = [] for block in cdata_blocks: pandoc_opts = [] # extract plugin name and content from cdata block block_split = block.split(']') plugin_name = block_split[0].strip('[[').strip() plugin_in = block_split[1].strip().strip('[').strip() # here now we forward the blocks to the appropriate plugins # Each plugin needs an entry here ! if plugin_name == 'INSERTFILE': plugin_out, pdf_out = insert_file(subdir, plugin_in) elif plugin_name == 'GALLERY': plugin_out, pdf_out = gallery(subdir, plugin_in) elif plugin_name == 'TREE': plugin_out, pdf_out = tree(subdir, plugin_in) elif plugin_name == 'FIG': plugin_out, pdf_out = metapost(subdir, plugin_in) elif plugin_name == 'FIG_EXT': plugin_out, pdf_out = metapost_ext(subdir, plugin_in) elif plugin_name == 'REPO_LIST': plugin_out, pdf_out, pandoc_opts = repo_list(branch) elif plugin_name == 'LATEST_ARTICLES': plugin_out, pdf_out = latest_articles(branch) #elif plugin_name=' ... ': # plugin_out, pdf_out = plugins. .. (plugin_content) # if no plugin is found return the raw content else: print("No plugin named:", plugin_name, "found,\n returning raw content.") plugin_out = block pdf_out = block plugin_blocks.append(plugin_out) plugin_blocks_pdf.append(pdf_out) plugin_pandoc_opts.extend(pandoc_opts) # (debug-print) #print("plugin blocks pdf plugin_handler: ", plugin_blocks_pdf) return plugin_blocks, plugin_blocks_pdf, plugin_pandoc_opts
def plugin_cdata_handler(subdir, cdata_blocks): '''Receive the cdata blocks and forward them to the appropriate plugin.''' # # plugin_blocks = [] plugin_blocks_pdf = [] for block in cdata_blocks: # extract plugin name and content from cdata block #block_split=block.split('[') #plugin_name=block_split[1] # #plugin_rest=''.join(block_split[2:]) #plugin_rest_split=plugin_rest.split(']') # #plugin_in=plugin_rest_split[0] # --> adapting to new selector format block_split = block.split(']') plugin_name = block_split[0].strip('[[').strip() plugin_in = block_split[1].strip().strip('[').strip() # here now we forward the blocks to the appropriate plugins ## Each plugin needs an entry here ! #plugin_names= if plugin_name=='INSERTFILE': plugin_out, pdf_out = insert_file(subdir, plugin_in) #plugin_out=plugin_content elif plugin_name=='GALLERY': plugin_out, pdf_out = gallery(subdir, plugin_in) elif plugin_name=='TREE': plugin_out, pdf_out = tree(subdir, plugin_in) elif plugin_name=='FIG': plugin_out, pdf_out = metapost(subdir, plugin_in) elif plugin_name=='FIG_EXT': plugin_out, pdf_out = metapost_ext(subdir, plugin_in) #elif plugin_name=' ... ': # plugin_out, pdf_out = plugins. .. (plugin_content) # if no plugin is found return the raw content else: print("No plugin named:", plugin_name, "found,\n returning raw content.") plugin_out = block pdf_out = block plugin_blocks.append(plugin_out) plugin_blocks_pdf.append(pdf_out) # (debug-print) #print("plugin blocks pdf plugin_handler: ", plugin_blocks_pdf) return plugin_blocks, plugin_blocks_pdf