def translated_description(self) -> str: text = BundledText(self.description).get() if text is None: text = '*{}*'.format(Text('none')) else: text = utils.format_markdown(text) return text
def write_back_to_index_nav(file: IO[str]): file.write('{} {}\n'.format( utils.format_markdown('>>>'), Link(Text('back_to_index'), get_file_name('/readme.md')))) file.write('\n')
def _write_plugin(plugin: Plugin, file: IO[str]): file.write('## {}\n'.format(plugin.id)) file.write('\n') file.write('### {}\n'.format(Text('basic_info'))) file.write('\n') file.write('- {}: `{}`\n'.format(Text('plugin_id'), plugin.id)) if plugin.is_data_fetched(): file.write('- {}: {}\n'.format(Text('plugin_name'), plugin.meta_info.name)) file.write('- {}: {}\n'.format(Text('version'), plugin.latest_version)) file.write(' - {}: {}\n'.format(Text('metadata_version'), plugin.meta_info.version)) file.write(' - {}: {}\n'.format( Text('release_version'), plugin.release_summary.latest_version)) else: file.write('- {}: {}\n'.format(Text('version'), failed())) file.write('- {}: {}\n'.format( Text('total_downloads'), plugin.release_summary.get_total_downloads())) file.write('- {}: {}\n'.format( Text('authors'), ', '.join(map(lambda a: a.to_markdown(), plugin.authors)))) file.write('- {}: {}\n'.format(Text('repository'), plugin.repository)) file.write('- {}: {}\n'.format(Text('labels'), get_label_list_markdown(plugin))) if plugin.is_data_fetched(): file.write('- {}: {}\n'.format( Text('description'), plugin.meta_info.translated_description)) else: file.write('- {}: {}\n'.format(Text('description'), failed())) file.write('\n') file.write('### {}\n'.format(Text('dependencies'))) file.write('\n') if plugin.is_data_fetched(): table = Table(Text('plugin_id'), Text('dependencies.requirement')) for pid, req in plugin.meta_info.dependencies.items(): table.add_row(Link(pid, get_plugin_detail_link(pid)), utils.format_markdown(req)) table.write(file) else: file.write('{}\n'.format(failed())) file.write('\n') file.write('### {}\n'.format(Text('requirements'))) file.write('\n') if plugin.is_data_fetched(): table = Table(Text('python_package'), Text('requirements.requirement')) for line in plugin.meta_info.requirements: matched = re.match(r'^[^<>=~^]+', line) if matched is None: print('Unknown requirement line "{}" in plugin {}'.format( line, plugin)) continue package = matched.group() req = utils.remove_prefix(line, package) table.add_row( Link(package, 'https://pypi.org/project/{}'.format(package)), utils.format_markdown(req)) table.write(file) else: file.write('{}\n'.format(failed())) file.write('\n') file.write('### {}\n'.format(Text('introduction'))) file.write('\n') file.write(plugin.introduction.get() or '{}\n'.format(none())) file.write('\n')