diff --git a/update_profile.py b/update_profile.py index c04af98..f3323a2 100644 --- a/update_profile.py +++ b/update_profile.py @@ -2,6 +2,7 @@ import os import requests import traceback import pprint +import datetime # --- Configuration --- GITEA_URL = "https://gitea.nathan-falvey.synology.me" @@ -17,6 +18,23 @@ def do_request(url, headers=None): print(f"Request failed: {e}") return None +def format_bytes(size_bytes): + """Converts bytes to a human-readable string.""" + if size_bytes == 0: return "0 B" + for unit in ['B', 'KB', 'MB', 'GB', 'TB']: + if size_bytes < 1024.0: + return f"{size_bytes:.2f} {unit}" + size_bytes /= 1024.0 + return f"{size_bytes:.2f} PB" + +def get_uptime(): + """Reads Linux system uptime.""" + try: + with open("/proc/uptime", "r") as f: + seconds = float(f.readline().split()[0]) + return str(datetime.timedelta(seconds=int(seconds))) + except: return "Running in Container" + def do_readme_build(): pass # Placeholder for the actual README build logic @@ -27,7 +45,7 @@ def debug_request(): version_string = version_info.get("version", "Unknown") if version_info else "Unknown" if version_info: print(f"Gitea Version: {version_string}") - + print(f"System Uptime: {get_uptime()}") try: print(do_request(f"{GITEA_URL}/api/v1/version", headers=headers)) pprint.pprint(do_request(f"{GITEA_URL}/api/v1/user/repos?type=owner", headers=headers)) @@ -41,7 +59,8 @@ def debug_request(): print(f"Repo '{repo.get('name', 'N/A')}' is private: {repo.get('private', 'N/A')}") print(f"Repo '{repo.get('name', 'N/A')}' is archived: {repo.get('archived', 'N/A')}") print(f"Repo '{repo.get('name', 'N/A')}' has language: {repo.get('language', 'N/A')}") - print(f"Repo '{repo.get('name', 'N/A')}' has size: {repo.get('size', 'N/A')} KB") + print(f"Repo '{repo.get('name', 'N/A')}' has size: {format_bytes(repo.get('size', 0))}") + except Exception: print("\n" + "!"*30)