(request)
| 819 | } |
| 820 | |
| 821 | def get_external_import_tmpdir(request): |
| 822 | uuid = request.data.get('uuid', None) |
| 823 | try: |
| 824 | uuidmod.UUID(uuid, version=4) |
| 825 | tmp_upload_dir = os.path.join(settings.FILE_UPLOAD_TEMP_DIR, f"external-import-{uuid}") |
| 826 | if not os.path.isdir(tmp_upload_dir): |
| 827 | raise ValueError("Invalid uuid") |
| 828 | try: |
| 829 | # Just in case |
| 830 | path_traversal_check(tmp_upload_dir, settings.FILE_UPLOAD_TEMP_DIR) |
| 831 | except SuspiciousFileOperation: |
| 832 | raise exceptions.NotFound(_("Invalid uuid")) |
| 833 | return tmp_upload_dir |
| 834 | except (TypeError, ValueError, AttributeError): |
| 835 | raise exceptions.ValidationError(detail=_("Invalid uuid")) |
| 836 | |
| 837 | |
| 838 | class TaskExternalImportUpload(APIView): |
no test coverage detected