mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	Prevent pandas overflow and runtime errors from division by zero/NaN (#12591)
* Prevent pandas overflow and runtime errors from division by zero/NaN * remove pysqlite3
This commit is contained in:
		
							parent
							
								
									d28ad0f0c8
								
							
						
					
					
						commit
						6de426c697
					
				@ -475,7 +475,7 @@ def motion_activity():
 | 
				
			|||||||
        logger.warning("No motion data found for the requested time range")
 | 
					        logger.warning("No motion data found for the requested time range")
 | 
				
			||||||
        return jsonify([])
 | 
					        return jsonify([])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    df = df.astype(dtype={"motion": "float16"})
 | 
					    df = df.astype(dtype={"motion": "float32"})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # set date as datetime index
 | 
					    # set date as datetime index
 | 
				
			||||||
    df["start_time"] = pd.to_datetime(df["start_time"], unit="s")
 | 
					    df["start_time"] = pd.to_datetime(df["start_time"], unit="s")
 | 
				
			||||||
@ -497,11 +497,13 @@ def motion_activity():
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    for i in range(0, length, chunk):
 | 
					    for i in range(0, length, chunk):
 | 
				
			||||||
        part = df.iloc[i : i + chunk]
 | 
					        part = df.iloc[i : i + chunk]
 | 
				
			||||||
        df.iloc[i : i + chunk, 0] = (
 | 
					        min_val, max_val = part["motion"].min(), part["motion"].max()
 | 
				
			||||||
            (part["motion"] - part["motion"].min())
 | 
					        if min_val != max_val:
 | 
				
			||||||
            / (part["motion"].max() - part["motion"].min())
 | 
					            df.iloc[i : i + chunk, 0] = (
 | 
				
			||||||
            * 100
 | 
					                part["motion"].sub(min_val).div(max_val - min_val).mul(100).fillna(0)
 | 
				
			||||||
        ).fillna(0.0)
 | 
					            )
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            df.iloc[i : i + chunk, 0] = 0.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # change types for output
 | 
					    # change types for output
 | 
				
			||||||
    df.index = df.index.astype(int) // (10**9)
 | 
					    df.index = df.index.astype(int) // (10**9)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user