|
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 |
|
) |
|
|