Added handling missing content-length field
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
b22236ece3
commit
29eae6bef0
@ -61,6 +61,22 @@ class SampleResource(Resource):
|
|||||||
if len(generated_tag) > 2: # Ensure minimum length
|
if len(generated_tag) > 2: # Ensure minimum length
|
||||||
break
|
break
|
||||||
|
|
||||||
|
# Handle mega-autismo-cliento
|
||||||
|
soundfile_content_length = soundfile.content_length
|
||||||
|
if soundfile_content_length <= 0: # BRUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUH
|
||||||
|
current_app.logger.debug(
|
||||||
|
"The uploader did not provide content-length for the sound file... Calculating manually..."
|
||||||
|
)
|
||||||
|
# So, this is a seekable stream, so we just seek to the end
|
||||||
|
old_ptr = soundfile.tell()
|
||||||
|
soundfile.seek(0, 2)
|
||||||
|
# Check where is the end (= content length)
|
||||||
|
soundfile_content_length = soundfile.tell()
|
||||||
|
# Seek back to where the stream was
|
||||||
|
soundfile.seek(old_ptr, 0)
|
||||||
|
|
||||||
|
# It's insane, that you can not set this field in curl
|
||||||
|
|
||||||
record = SampleMetadata(
|
record = SampleMetadata(
|
||||||
device_id=desc['device_id'],
|
device_id=desc['device_id'],
|
||||||
device_date=desc['date'],
|
device_date=desc['date'],
|
||||||
@ -75,7 +91,7 @@ class SampleResource(Resource):
|
|||||||
'wave.wav',
|
'wave.wav',
|
||||||
soundfile,
|
soundfile,
|
||||||
soundfile.content_type,
|
soundfile.content_type,
|
||||||
{'Content-Length': soundfile.content_length})}).raise_for_status()
|
{'Content-Length': soundfile_content_length})}).raise_for_status() # Anyádat curl am
|
||||||
credentials = pika.PlainCredentials(current_app.config['FLASK_PIKA_PARAMS']['username'],
|
credentials = pika.PlainCredentials(current_app.config['FLASK_PIKA_PARAMS']['username'],
|
||||||
current_app.config['FLASK_PIKA_PARAMS']['password'])
|
current_app.config['FLASK_PIKA_PARAMS']['password'])
|
||||||
connection = pika.BlockingConnection(
|
connection = pika.BlockingConnection(
|
||||||
|
Loading…
Reference in New Issue
Block a user