def lint_readme(realized_repository, lint_ctx): path = realized_repository.real_path readme_rst = os.path.join(path, "README.rst") readme = os.path.join(path, "README") readme_txt = os.path.join(path, "README.txt") readme_found = False for readme in [readme_rst, readme, readme_txt]: if os.path.exists(readme): readme_found = readme readme_md = os.path.join(path, "README.md") if not readme_found and os.path.exists(readme_md): lint_ctx.warn("Tool Shed doesn't render markdown, " "README.md is invalid readme.") return if not readme_found: # TODO: filter on TYPE and make this a warning if # unrestricted repository - need to update iuc standards # first though. lint_ctx.info("No README found skipping.") return if readme_found.endswith(".rst"): readme_text = open(readme_found, "r").read() invalid_rst = rst_invalid(readme_text) if invalid_rst: template = "Invalid restructured text found in README [%s]." msg = template % invalid_rst lint_ctx.warn(msg) return lint_ctx.info("README found containing valid reStructuredText.") else: lint_ctx.info("README found containing plain text.")