| import logging | |
| from hachoir.parser import createParser | |
| from hachoir.metadata import extractMetadata | |
| logging.basicConfig( | |
| level=logging.DEBUG, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" | |
| ) | |
| logger = logging.getLogger(__name__) | |
| logging.getLogger("pyrogram").setLevel(logging.WARNING) | |
| async def Mdata01(download_directory): | |
| """ | |
| Extract metadata information for video files. | |
| Parameters: | |
| - download_directory (str): The path to the video file. | |
| Returns: | |
| Tuple[int, int, int]: Tuple containing width, height, and duration. | |
| """ | |
| width = 0 | |
| height = 0 | |
| duration = 0 | |
| metadata = extractMetadata(createParser(download_directory)) | |
| if metadata is not None: | |
| if metadata.has("duration"): | |
| duration = metadata.get("duration").seconds | |
| if metadata.has("width"): | |
| width = metadata.get("width") | |
| if metadata.has("height"): | |
| height = metadata.get("height") | |
| return width, height, duration | |
| async def Mdata02(download_directory): | |
| """ | |
| Extract metadata information for video files. | |
| Parameters: | |
| - download_directory (str): The path to the video file. | |
| Returns: | |
| Tuple[int, int]: Tuple containing width and duration. | |
| """ | |
| width = 0 | |
| duration = 0 | |
| metadata = extractMetadata(createParser(download_directory)) | |
| if metadata is not None: | |
| if metadata.has("duration"): | |
| duration = metadata.get("duration").seconds | |
| if metadata.has("width"): | |
| width = metadata.get("width") | |
| return width, duration | |
| async def Mdata03(download_directory): | |
| """ | |
| Extract metadata information for audio files. | |
| Parameters: | |
| - download_directory (str): The path to the audio file. | |
| Returns: | |
| int: Duration of the audio file. | |
| """ | |
| metadata = extractMetadata(createParser(download_directory)) | |
| return ( | |
| metadata.get("duration").seconds | |
| if metadata is not None and metadata.has("duration") | |
| else 0 | |
| ) | |