Loading rpc/views.py +46 −35 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ from .fileresponse import RangedFileResponse from django.views.decorators.gzip import gzip_page import logging from functools import lru_cache from resources.tasks import post_upload_treatment importlib = __import__("importlib") Loading Loading @@ -255,6 +256,7 @@ def upload_partial(request: HttpRequest) -> HttpResponse: file_instance.title = file_name file_instance.original_name = file_name file_instance.save() post_upload_treatment(file_instance.pk) logger.info( "User {}({}) respawned file {}".format( user.username, user.pk, file_instance.pk Loading Loading @@ -307,7 +309,7 @@ def upload_partial(request: HttpRequest) -> HttpResponse: checksum_ok = True else: checksum_ok = False try: with open(f_name, "rb") as f: try: with transaction.atomic(): Loading @@ -325,8 +327,12 @@ def upload_partial(request: HttpRequest) -> HttpResponse: ) ) if origin_dir: collection = _collection_from_origin_dir(origin_dir, project) collection.resources.add(models.File.objects.get(id=file_id)) collection = _collection_from_origin_dir( origin_dir, project ) collection.resources.add( models.File.objects.get(id=file_id) ) logger.info( "User {}({}) added file({}) to collection({})".format( user.username, user.pk, file_id, collection.pk Loading @@ -341,11 +347,16 @@ def upload_partial(request: HttpRequest) -> HttpResponse: return HttpResponse("Type de fichier inconnu", status=400) except ResourceError: _silent_rmdir(partials_dir) return HttpResponse("Impossible d'enregistrer la ressource", status=400) return HttpResponse( "Impossible d'enregistrer la ressource", status=400 ) except ConcurrencyError: # Concurrency problem with clients sending multiple chunks in parallel. # Nothing to do here, work has already been done. return HttpResponse("Too Many Requests", status=429) # another race condition except FileNotFoundError: return HttpResponse("Too Many Requests", status=429) return HttpResponse(status=202) Loading Loading
rpc/views.py +46 −35 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ from .fileresponse import RangedFileResponse from django.views.decorators.gzip import gzip_page import logging from functools import lru_cache from resources.tasks import post_upload_treatment importlib = __import__("importlib") Loading Loading @@ -255,6 +256,7 @@ def upload_partial(request: HttpRequest) -> HttpResponse: file_instance.title = file_name file_instance.original_name = file_name file_instance.save() post_upload_treatment(file_instance.pk) logger.info( "User {}({}) respawned file {}".format( user.username, user.pk, file_instance.pk Loading Loading @@ -307,7 +309,7 @@ def upload_partial(request: HttpRequest) -> HttpResponse: checksum_ok = True else: checksum_ok = False try: with open(f_name, "rb") as f: try: with transaction.atomic(): Loading @@ -325,8 +327,12 @@ def upload_partial(request: HttpRequest) -> HttpResponse: ) ) if origin_dir: collection = _collection_from_origin_dir(origin_dir, project) collection.resources.add(models.File.objects.get(id=file_id)) collection = _collection_from_origin_dir( origin_dir, project ) collection.resources.add( models.File.objects.get(id=file_id) ) logger.info( "User {}({}) added file({}) to collection({})".format( user.username, user.pk, file_id, collection.pk Loading @@ -341,11 +347,16 @@ def upload_partial(request: HttpRequest) -> HttpResponse: return HttpResponse("Type de fichier inconnu", status=400) except ResourceError: _silent_rmdir(partials_dir) return HttpResponse("Impossible d'enregistrer la ressource", status=400) return HttpResponse( "Impossible d'enregistrer la ressource", status=400 ) except ConcurrencyError: # Concurrency problem with clients sending multiple chunks in parallel. # Nothing to do here, work has already been done. return HttpResponse("Too Many Requests", status=429) # another race condition except FileNotFoundError: return HttpResponse("Too Many Requests", status=429) return HttpResponse(status=202) Loading