Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/just-cameron/letta-openwebui. A Letta fork of OpenWebUI
Something went wrong. Try again.
letta-openwebui contribution_stats.py
2.1 kB · 74 lines
Python
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475import osimport subprocessfrom collections import Counter
CONFIG_FILE_EXTENSIONS = (".json", ".yml", ".yaml", ".ini", ".conf", ".toml")
def is_text_file(filepath): # Check for binary file by scanning for null bytes. try: with open(filepath, "rb") as f: chunk = f.read(4096) if b"\0" in chunk: return False return True except Exception: return False
def should_skip_file(path): base = os.path.basename(path) # Skip dotfiles and dotdirs if base.startswith("."): return True # Skip config files by extension if base.lower().endswith(CONFIG_FILE_EXTENSIONS): return True return False
def get_tracked_files(): try: output = subprocess.check_output(["git", "ls-files"], text=True) files = output.strip().split("\n") files = [f for f in files if f and os.path.isfile(f)] return files except subprocess.CalledProcessError: print("Error: Are you in a git repository?") return []
def main(): files = get_tracked_files() email_counter = Counter() total_lines = 0
for file in files: if should_skip_file(file): continue if not is_text_file(file): continue try: blame = subprocess.check_output( ["git", "blame", "-e", file], text=True, errors="replace" ) for line in blame.splitlines(): # The email always inside <> if "<" in line and ">" in line: try: email = line.split("<")[1].split(">")[0].strip() except Exception: continue email_counter[email] += 1 total_lines += 1 except subprocess.CalledProcessError: continue
for email, lines in email_counter.most_common(): percent = (lines / total_lines * 100) if total_lines else 0 print(f"{email}: {lines}/{total_lines} {percent:.2f}%")
if __name__ == "__main__": main()