|  | 
| 25 | 25 | import tempfile | 
| 26 | 26 | 
 | 
| 27 | 27 | from django.conf import settings | 
|  | 28 | +from django.http import HttpResponseRedirect | 
| 28 | 29 | from django.shortcuts import render | 
| 29 | 30 | from django.views import generic | 
| 30 | 31 | 
 | 
| 31 |  | -from scantext.forms import EditorForm | 
|  | 32 | +from scantext.forms import LicenseForm | 
| 32 | 33 | 
 | 
| 33 | 34 | SCANCODE_BASE_URL = "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses" | 
| 34 | 35 | SCANCODE_LICENSE_TEXT_URL = SCANCODE_BASE_URL + "/{}.LICENSE" | 
|  | 
| 39 | 40 | 
 | 
| 40 | 41 | 
 | 
| 41 | 42 | def license_scanview(request): | 
| 42 |  | -    form = EditorForm() | 
|  | 43 | +    form = LicenseForm() | 
| 43 | 44 |     if request.method == "POST": | 
| 44 |  | -        form = EditorForm(request.POST) | 
|  | 45 | +        form = LicenseForm(request.POST) | 
| 45 | 46 |         if form.is_valid(): | 
| 46 | 47 |             text = form.cleaned_data["input_text"] | 
| 47 |  | -            # license_location = tempfile.NamedTemporaryFile(mode="w", prefix="license_scan_", dir=settings.SCANCODEIO_WORKSPACE_LOCATION) | 
| 48 |  | -            # with license_location as f: | 
| 49 |  | -            #     f.write(text) | 
| 50 |  | -            #     f.flush() | 
| 51 |  | -            #     x=get_licenses(location=f) | 
| 52 |  | -            #     f.close() | 
| 53 |  | -            # the get_licenses in the above code (line 56) returns this error | 
| 54 |  | -            # error: | 
| 55 |  | -            # expected str, bytes or os.PathLike object, not _TemporaryFileWrapper | 
| 56 |  | -            # the below code just works | 
| 57 |  | - | 
| 58 |  | -            expressions = get_licenses( | 
| 59 |  | -                location="scantext/tests/data/LICENSES", | 
| 60 |  | -                include_text=True, | 
| 61 |  | -                license_text_diagnostics=True, | 
| 62 |  | -            ) | 
|  | 48 | +            with tempfile.NamedTemporaryFile( | 
|  | 49 | +                mode="w", | 
|  | 50 | +                prefix="license_scan_", | 
|  | 51 | +                dir=settings.SCANCODEIO_WORKSPACE_LOCATION, | 
|  | 52 | +            ) as temp_file: | 
|  | 53 | +                temp_file.write(text) | 
|  | 54 | +                temp_file.flush() | 
|  | 55 | +                expressions = get_licenses( | 
|  | 56 | +                    location=temp_file.name, | 
|  | 57 | +                    include_text=True, | 
|  | 58 | +                    license_text_diagnostics=True, | 
|  | 59 | +                ) | 
|  | 60 | +                temp_file.close() | 
|  | 61 | + | 
| 63 | 62 |             return render( | 
| 64 | 63 |                 request, | 
| 65 | 64 |                 "scantext/license_detail.html", | 
| 66 | 65 |                 { | 
| 67 | 66 |                     "text": text, | 
| 68 |  | -                    "expr": expressions, | 
|  | 67 | +                    "result": expressions, | 
| 69 | 68 |                 }, | 
| 70 | 69 |             ) | 
| 71 |  | -    return render(request, "scantext/license_scan.html", {"form": form}) | 
|  | 70 | +    return render(request, "scantext/license_scan_form.html", {"form": form}) | 
| 72 | 71 | 
 | 
| 73 | 72 | 
 | 
| 74 | 73 | def get_licenses( | 
|  | 
0 commit comments