我们从Python开源项目中,提取了以下7个代码示例,用于说明如何使用docutils.core.publish_programmatically()。
def internals(input_string, source_path=None, destination_path=None, input_encoding='unicode', settings_overrides=None): """ Return the document tree and publisher, for exploring Docutils internals. Parameters: see `html_parts()`. """ if settings_overrides: overrides = settings_overrides.copy() else: overrides = {} overrides['input_encoding'] = input_encoding output, pub = core.publish_programmatically( source_class=io.StringInput, source=input_string, source_path=source_path, destination_class=io.NullOutput, destination=None, destination_path=destination_path, reader=None, reader_name='standalone', parser=None, parser_name='restructuredtext', writer=None, writer_name='null', settings=None, settings_spec=None, settings_overrides=overrides, config_section=None, enable_exit_status=None) return pub.writer.document, pub
def check_history_headings(mod_path): history_path = os.path.join(mod_path, HISTORY_NAME) source_path = None destination_path = None with open(history_path, 'r') as f: input_string = f.read() _, pub = core.publish_programmatically( source_class=io.StringInput, source=input_string, source_path=source_path, destination_class=io.NullOutput, destination=None, destination_path=destination_path, reader=None, reader_name='standalone', parser=None, parser_name='restructuredtext', writer=None, writer_name='null', settings=None, settings_spec=None, settings_overrides={}, config_section=None, enable_exit_status=None) # Check first heading is Release History if pub.writer.document.children[0].rawsource != RELEASE_HISTORY_TITLE: print("Expected '{}' as first heading in HISTORY.rst".format(RELEASE_HISTORY_TITLE)) return False all_versions = [t['names'][0] for t in pub.writer.document.children if t['names']] # Check that no headings contain 'unreleased'. We don't require it any more if any('unreleased' in v.lower() for v in all_versions): print("We no longer require 'unreleased' in headings. Use the appropriate version number instead.") return False # Check that the current package version has a history entry if not all_versions: print("Unable to get versions from {}. Check formatting. e.g. there should be a new line after the 'Release History' heading.".format(history_path)) return False first_version_history = all_versions[0] actual_version = subprocess.check_output('python setup.py --version'.split(), cwd=mod_path, universal_newlines=True) actual_version = actual_version.strip() if first_version_history != actual_version: print("The topmost version in {} does not match version {} defined in setup.py.".format(history_path, actual_version)) return False return True