tabby/tasks/preprocess/metrics.py

22 lines
564 B
Python

def max_line_length(content):
return max([len(x) for x in content.splitlines()])
def avg_line_length(content):
lines = [len(x) for x in content.splitlines()]
total = sum(lines)
return total / len(lines)
def alphanum_fraction(content):
alphanum = [x for x in content if x.isalpha() or x.isnumeric()]
return len(alphanum) / len(content)
def compute(content):
return dict(
max_line_length=max_line_length(content),
avg_line_length=avg_line_length(content),
alphanum_fraction=alphanum_fraction(content),
)