Skip to content

Commit

Permalink
Update server.py
Browse files Browse the repository at this point in the history
  • Loading branch information
MainKronos committed Jul 13, 2022
1 parent 9c320e5 commit d9c76af
Showing 1 changed file with 108 additions and 6 deletions.
114 changes: 108 additions & 6 deletions animeworld/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def _sanitize(self, title: str) -> str: # Toglie i caratteri illegali per i file
for x in illegal:
title = title.replace(x, '')
return title

def fileInfo(self) -> Dict[str,str]:
"""
Recupera le informazioni del file dell'episodio.
Expand All @@ -78,6 +78,12 @@ def fileInfo(self) -> Dict[str,str]:
```
"""

raise ServerNotSupported(self.name)

def _fileInfoIn(self) -> Dict[str,str]:
"""
Recupera le informazioni del file dell'episodio usando requests.
"""
url = self._getFileLink()

with SES.head(url) as r:
Expand All @@ -91,6 +97,35 @@ def fileInfo(self) -> Dict[str,str]:
"server_id": self.Nid,
"url": url
}

def _fileInfoEx(self) -> Dict[str,str]:
"""
Recupera le informazioni del file dell'episodio usando yutube_dl.
"""

class MyLogger(object):
def debug(self, msg):
pass
def warning(self, msg):
pass
def error(self, msg):
print(msg)
return False

ydl_opts = {
'logger': MyLogger()
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
url = self._getFileLink()
info = ydl.extract_info(url, download=False)
return {
"content_type": "unknown",
"total_bytes": -1,
"last_modified": datetime.fromtimestamp(0),
"server_name": self.name,
"server_id": self.Nid,
"url": url
}


def download(self, title: Optional[str]=None, folder: str='', hook: Callable[[Dict], None] = lambda *args:None) -> Optional[str]:
Expand All @@ -115,11 +150,6 @@ def download(self, title: Optional[str]=None, folder: str='', hook: Callable[[Di
"""
raise ServerNotSupported(self.name)

# Protected
def _getFileLink(self) -> str:

raise ServerNotSupported(self.name)

# Protected
def _downloadIn(self, title: str, folder: str, hook: Callable[[Dict], None]) -> bool: # Scarica l'episodio
"""
Expand Down Expand Up @@ -252,6 +282,24 @@ def _getFileLink(self):

return self.link.replace('download-file.php?id=', '')

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._fileInfoIn()

def download(self, title: Optional[str]=None, folder: str='', hook: Callable[[Dict], None] = lambda *args:None) -> bool:
"""
Scarica l'episodio.
Expand Down Expand Up @@ -293,6 +341,24 @@ def _getFileLink(self):

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) -> bool:
"""
Expand Down Expand Up @@ -339,6 +405,24 @@ def _getFileLink(self):

return yutubelink_raw.replace('embed/', 'watch?v=')

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) -> bool:
"""
Scarica l'episodio.
Expand Down Expand Up @@ -386,6 +470,24 @@ def _getFileLink(self):
mp4_link = 'http:/' + (raw_link_part1 + raw_link_part2).replace(' ', '')

return mp4_link

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._fileInfoIn()

def download(self, title: Optional[str]=None, folder: str='', hook: Callable[[Dict], None] = lambda *args:None) -> bool:
"""
Expand Down

0 comments on commit d9c76af

Please sign in to comment.