diff --git a/src/aniworld/__main__.py b/src/aniworld/__main__.py index 1a3dabd..2aefab3 100644 --- a/src/aniworld/__main__.py +++ b/src/aniworld/__main__.py @@ -498,7 +498,7 @@ def parse_arguments(): action_group.add_argument( '-p', '--provider', type=str, - choices=['Vidoza', 'Streamtape', 'VOE', 'Doodstream'], + choices=['Vidoza', 'Streamtape', 'VOE', 'Doodstream', 'Vidmoly'], help='Provider choice' ) diff --git a/src/aniworld/execute.py b/src/aniworld/execute.py index a72630e..0cb613f 100644 --- a/src/aniworld/execute.py +++ b/src/aniworld/execute.py @@ -14,6 +14,7 @@ streamtape_get_direct_link, vidoza_get_direct_link, voe_get_direct_link, + vidmoly_get_direct_link ) @@ -399,7 +400,8 @@ def execute(params: Dict[str, Any]) -> None: "Vidoza": vidoza_get_direct_link, "VOE": voe_get_direct_link, "Doodstream": doodstream_get_direct_link, - "Streamtape": streamtape_get_direct_link + "Streamtape": streamtape_get_direct_link, + "Vidmoly": vidmoly_get_direct_link } selected_episodes = params['selected_episodes'] diff --git a/src/aniworld/extractors/__init__.py b/src/aniworld/extractors/__init__.py index 58f69b8..11ba282 100644 --- a/src/aniworld/extractors/__init__.py +++ b/src/aniworld/extractors/__init__.py @@ -2,6 +2,7 @@ from .provider.streamtape import streamtape_get_direct_link from .provider.vidoza import vidoza_get_direct_link from .provider.voe import voe_get_direct_link +from .provider.vidmoly import vidmoly_get_direct_link from .provider.speedfiles import speedfiles_get_direct_link from .nhentai.nhentai import nhentai diff --git a/src/aniworld/extractors/provider/vidmoly.py b/src/aniworld/extractors/provider/vidmoly.py new file mode 100644 index 0000000..1d5b8d5 --- /dev/null +++ b/src/aniworld/extractors/provider/vidmoly.py @@ -0,0 +1,16 @@ +import re + +from aniworld import globals as aniworld_globals + + +def vidmoly_get_direct_link(soup): + scripts = soup.find_all('script') + file_link_pattern = r'file:\s*"(https?://.*?)"' + + for script in scripts: + if script.string: + match = re.search(file_link_pattern, script.string) + if match: + file_link = match.group(1) + return file_link + return None