Handle files bigger than 20MB for saucenao
This commit is contained in:
		
							parent
							
								
									2cce3aa833
								
							
						
					
					
						commit
						1395649a31
					
				| 
						 | 
				
			
			@ -45,10 +45,22 @@ async def saucenao(client, message):
 | 
			
		|||
        if not mimetype.startswith('image/') and not mimetype.startswith('video/'):
 | 
			
		||||
            await reply.edit_text('Photo or GIF or Video or Sticker required')
 | 
			
		||||
            return
 | 
			
		||||
        if mimetype.startswith('video/'):
 | 
			
		||||
        if os.path.getsize(filename) > 20 * 1024:
 | 
			
		||||
            new_path = os.path.join(tempdir, '1.jpg')
 | 
			
		||||
            proc = await asyncio.create_subprocess_exec('ffmpeg', '-an', '-sn', '-i', filename, '-frames:v', '1', new_path)
 | 
			
		||||
            await proc.communicate()
 | 
			
		||||
            os.remove(filename)
 | 
			
		||||
            filename = new_path
 | 
			
		||||
        elif mimetype.startswith('video/'):
 | 
			
		||||
            new_path = os.path.join(tempdir, '1.gif')
 | 
			
		||||
            proc = await asyncio.create_subprocess_exec('ffmpeg', '-an', '-sn', '-i', filename, new_path)
 | 
			
		||||
            await proc.communicate()
 | 
			
		||||
            if os.path.getsize(new_path) > 20 * 1024:
 | 
			
		||||
                os.remove(new_path)
 | 
			
		||||
                new_path = os.path.join(tempdir, '1.jpg')
 | 
			
		||||
                proc = await asyncio.create_subprocess_exec('ffmpeg', '-an', '-sn', '-i', filename, '-frames:v', '1', new_path)
 | 
			
		||||
                await proc.communicate()
 | 
			
		||||
            os.remove(filename)
 | 
			
		||||
            filename = new_path
 | 
			
		||||
        with open(filename, 'rb') as file:
 | 
			
		||||
            async with session.post(f'https://saucenao.com/search.php?db=999&output_type=2&api_key={urlencode(config["config"]["saucenao_api"])}', data={'file': file}) as resp:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue