def check_fn(obtained_filename: PathPlus, expected_filename: PathLike): expected_filename = PathPlus(expected_filename) template = Template( expected_filename.read_text(), block_start_string="<%", block_end_string="%>", variable_start_string="<<", variable_end_string=">>", comment_start_string="<#", comment_end_string="#>", ) expected_filename.write_text( template.render( sphinx_version=sphinx.version_info, python_version=sys.version_info, docutils_version=docutils_version, **jinja2_namespace or {}, )) return check_text_files(obtained_filename, expected_filename, encoding="UTF-8")
def bump_version_for_file(self, filename: PathLike, config: BumpversionFileConfig): """ Bumps the version for the given file. :param filename: :param config: """ filename = self.repo.target_repo / filename filename.write_text(filename.read_text().replace(config["search"], config["replace"]))
def export_wordcloud(word_cloud: WordCloud, outfile: PathLike) -> None: """ Export a wordcloud to a file. :param word_cloud: :param outfile: The file to export the wordcloud to. """ outfile = pathlib.Path(outfile) if outfile.suffix == ".svg": outfile.write_text(word_cloud.to_svg()) else: word_cloud.to_file(str(outfile))
def save_data( file_name: PathLike, data: Union[List[float], List[List[float]]], format_str: str = "%.6f", prepend: str = '', sep: str = ' ', compressed: bool = False, ): """ Saves a list of numbers or a list of lists of numbers to a file with specific formatting. :param file_name: Name of a file :param data: A list of numbers, or a list of lists :param format_str: A format string for individual entries :param prepend: A string, printed before each row :param sep: A string, printed after each number :param compressed: If :py:obj:`True`, the output will be gzipped. :authors: Vladimir Likic, Dominic Davis-Foster (pathlib support) """ if not is_path(file_name): raise TypeError("'file_name' must be a string or a PathLike object") file_name = prepare_filepath(file_name) if not isinstance(data, _list_types): raise TypeError("'data' must be a list") if not isinstance(prepend, str): raise TypeError("'prepend' must be a string") if not isinstance(sep, str): raise TypeError("'sep' must be a string") buf = StringList() # decide whether data is a vector or matrix if is_number(data[0]): for item in data: if not is_number(item): raise TypeError("not all elements of the list are numbers") for x_value in data: buf.append(prepend + (format_str % x_value)) else: for item in data: if not isinstance(item, _list_types): raise TypeError("not all elements of the list are lists") for x_value in cast(List[List[float]], data): line = [prepend] for jj, y_value in enumerate(x_value): if is_number(y_value): line.append(format_str % y_value) if jj < (len(x_value) - 1): line.append(sep) else: raise TypeError("'datum' must be a number") buf.append(''.join(line)) if compressed: with gzip.open(file_name, "wt") as fp: fp.write(str(buf)) else: file_name.write_text(str(buf), encoding="UTF-8")