Skip to content

Commit

Permalink
Merge pull request #4 from MainKronos/dev
Browse files Browse the repository at this point in the history
Rimosso supporto vvvvid
  • Loading branch information
MainKronos authored Oct 30, 2022
2 parents 2a2ce1d + c6e5a71 commit 04f859a
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 77 deletions.
13 changes: 5 additions & 8 deletions animeworld/episodio.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from .utility import SES
from .exceptions import ServerNotSupported
from .server import Server, AnimeWorld_Server, VVVVID, YouTube, Streamtape
from .server import Server, AnimeWorld_Server, YouTube, Streamtape


class Episodio:
Expand Down Expand Up @@ -149,9 +149,7 @@ def __setServer(self, links: List[Dict], numero: str) -> List[Server]: # Per ogn
"""
ret = [] # lista dei server
for prov in links:
if prov["id"] == 3:
ret.append(VVVVID(prov["link"], prov["id"], prov["name"], numero))
elif prov["id"] == 4:
if prov["id"] == 4:
ret.append(YouTube(prov["link"], prov["id"], prov["name"], numero))
elif prov["id"] == 9:
ret.append(AnimeWorld_Server(prov["link"], prov["id"], prov["name"], numero))
Expand All @@ -167,8 +165,7 @@ def __sortServer(self, elem):
"""
Ordina i server per importanza.
"""
if isinstance(elem, VVVVID): return 0
elif isinstance(elem, YouTube): return 1
elif isinstance(elem, AnimeWorld_Server): return 2
elif isinstance(elem, Streamtape): return 3
if isinstance(elem, YouTube): return 0
elif isinstance(elem, AnimeWorld_Server): return 1
elif isinstance(elem, Streamtape): return 2
else: return 4
69 changes: 1 addition & 68 deletions animeworld/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,74 +341,7 @@ def download(self, title: Optional[str]=None, folder: str='', *, hook: Callable[
"""
if title is None: title = self._defTitle
else: title = self._sanitize(title)
return self._downloadIn(title,folder,hook=hook,opt=opt)

class VVVVID(Server):
# Protected
@HealthCheck
def _getFileLink(self):
anime_id = self.link.split("/")[-1]
external_link = "https://www.animeworld.tv/api/episode/serverPlayerAnimeWorld?id={}".format(anime_id)
"https://www.animeworld.tv/api/episode/serverPlayerAnimeWorld?id=vKmnNB"

sb_get = SES.get(self.link)
sb_get.raise_for_status()

sb_get = SES.get(external_link)
soupeddata = BeautifulSoup(sb_get.content, "html.parser")
sb_get.raise_for_status()

raw = soupeddata.find("a", { "class" : "VVVVID-link" })
return raw.get("href")

def fileInfo(self) -> Dict[str,str]:
"""
Recupera le informazioni del file dell'episodio.
```
return {
"content_type": str, # Tipo del file, es. video/mp4
"total_bytes": int, # Byte totali del file
"last_modified": datetime, # Data e ora dell'ultimo aggiornamento effettuato all'episodio sul server
"server_name": str, # Nome del server
"server_id": int, # ID del server
"url": str # url dell'episodio
}
```
"""

return self._fileInfoEx()

def download(self, title: Optional[str]=None, folder: str='', *, hook: Callable[[Dict], None]=lambda *args:None, opt: List[str]=[]) -> Optional[str]:
"""
Scarica l'episodio.
- `title`: Nome con cui verrà nominato il file scaricato.
- `folder`: Posizione in cui verrà spostato il file scaricato.
- `hook`: Funzione che viene richiamata varie volte durante il download; la funzione riceve come argomento un dizionario con le seguenti chiavi:
- `total_bytes`: Byte totali da scaricare.
- `downloaded_bytes`: Byte attualmente scaricati.
- `percentage`: Percentuale del progresso di download.
- `speed`: Velocità di download (byte/s)
- `elapsed`: Tempo trascorso dall'inizio del download.
- `eta`: Tempo stimato rimanente per fine del download.
- `status`: 'downloading' | 'finished' | 'aborted'
- `filename`: Nome del file in download.
- `opt`: Lista per delle opzioni aggiuntive.
- `'abort'`: Ferma forzatamente il download.
```
return str # File scaricato
```
"""

# TODO: Il download usando VVVVID non funziona don youtube-dl
raise ServerNotSupported(self.name)

if title is None: title = self._defTitle
else: title = self._sanitize(title)
return self._dowloadEx(title,folder,hook=hook,opt=opt)

return self._downloadIn(title,folder,hook=hook,opt=opt)

class YouTube(Server):
# Protected
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

setuptools.setup(
name="animeworld",
version="1.4.20",
version="1.4.21",
author="MainKronos",
description="AnimeWorld UNOFFICIAL API",
long_description=long_description,
Expand Down

0 comments on commit 04f859a

Please sign in to comment.