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:
		@@ -61,6 +61,22 @@ class SampleResource(Resource):
 | 
			
		||||
            if len(generated_tag) > 2:  # Ensure minimum length
 | 
			
		||||
                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(
 | 
			
		||||
            device_id=desc['device_id'],
 | 
			
		||||
            device_date=desc['date'],
 | 
			
		||||
@@ -75,7 +91,7 @@ class SampleResource(Resource):
 | 
			
		||||
                        'wave.wav',
 | 
			
		||||
                        soundfile,
 | 
			
		||||
                        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'],
 | 
			
		||||
                                                current_app.config['FLASK_PIKA_PARAMS']['password'])
 | 
			
		||||
            connection = pika.BlockingConnection(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user