22 lines
564 B
Python
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),
|
||
|
|
)
|