Source code for squadds.core.utils_docs
import re
import requests
from tabulate import tabulate
[docs]
def view_contributors_from_rst(rst_url):
contributors_data = []
try:
response = requests.get(rst_url, timeout=10)
except requests.RequestException as exc:
print(f"Failed to fetch the file: {exc}")
return
if response.status_code == 200:
content = response.text
contributors_match = re.search(r"Contributors\s+-{3,}\s+(.*?)(\n\n|$)", content, re.S)
if contributors_match:
contributors_section = contributors_match.group(1).strip()
contributor_entries = contributors_section.split("\n| ")
for entry in contributor_entries:
if not entry.strip():
continue
match = re.match(r"\*\*(.*?)\*\* \((.*?)\) - (.*)", entry.strip())
if match:
contributors_data.append([match.group(1), match.group(2), match.group(3)])
if contributors_data:
print(tabulate(contributors_data, headers=["Name", "Institution", "Contribution"], tablefmt="grid"))
else:
print("No contributors found in the RST file.")
else:
print(f"Failed to fetch the file. Status code: {response.status_code}")