from re import match as re_match
def is_magnet(url: str):
return bool(re_match(r"magnet:\?xt=urn:(btih|btmh):[a-zA-Z0-9]*\s*", url))
def is_url(url: str):
return bool(
re_match(
r"^(?!\/)(rtmps?:\/\/|mms:\/\/|rtsp:\/\/|https?:\/\/|ftp:\/\/)?([^\/:]+:[^\/@]+@)?(www\.)?(?=[^\/:\s]+\.[^\/:\s]+)([^\/:\s]+\.[^\/:\s]+)(:\d+)?(\/[^#\s]*[\s\S]*)?(\?[^#\s]*)?(#.*)?$",
url,
)
)
def is_gdrive_link(url: str):
return "drive.google.com" in url or "drive.usercontent.google.com" in url
def is_telegram_link(url: str):
return url.startswith(("https://t.me/", "tg://openmessage?user_id="))
def is_share_link(url: str):
return bool(
re_match(
r"https?:\/\/.+\.gdtot\.\S+|https?:\/\/(filepress|filebee|appdrive|gdflix)\.\S+",
url,
)
)
def is_rclone_path(path: str):
return bool(
re_match(
r"^(mrcc:)?(?!(magnet:|mtp:|sa:|tp:))(?![- ])[a-zA-Z0-9_\. -]+(?<! ):(?!.*\/\/).*$|^rcl$",
path,
)
)
def is_gdrive_id(id_: str):
return bool(
re_match(
r"^(tp:|sa:|mtp:)?(?:[a-zA-Z0-9-_]{33}|[a-zA-Z0-9_-]{19})$|^gdl$|^(tp:|mtp:)?root$",
id_,
)
)
def get_mega_link_type(url: str):
return "folder" if "folder" in url or "/#F!" in url else "file"