Spaces:
Sleeping
Sleeping
from .utils import log, model_predict | |
import re | |
def evaluate(verbose, llm, zip, readme): | |
log(verbose, "TITLE", "\nEvaluating repository licensing...") | |
overall = "No" | |
license_files = [license for license in zip.namelist() if ((("LICENSE" in license) | ("license" in license)) & (len(license.split("/")) == 2))] | |
if (len(license_files) > 0): | |
license = zip.open(license_files[0]).read().decode("utf-8") | |
ans = [row for row in license.split("\n") if row != ""] | |
if (llm): | |
license = license[:50] | |
prompt = f"Q: {license}. This was an excerpt from a license \ | |
file. Do you know the name of this license?" | |
ans = model_predict(prompt) | |
log(verbose, "LOG", f"Found license: {ans}") | |
else: | |
log(verbose, "LOG", f"Found license file: {license_files[0]}") | |
overall = "Yes" | |
return overall | |
if (readme): | |
if ("License" in readme): | |
log(verbose, "LOG", "License found in README.") | |
overall = "Yes" | |
return overall | |
log(verbose, "ERROR", "LICENSE file not found.") | |
return overall |