mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-27 13:34:28 +00:00
Don't download videos longer than 3 hours
This commit is contained in:
parent
55c6d61062
commit
9c452be47d
2 changed files with 9 additions and 0 deletions
|
@ -3,7 +3,9 @@ import ffmpeg
|
||||||
import os
|
import os
|
||||||
import typing
|
import typing
|
||||||
import time
|
import time
|
||||||
|
import datetime
|
||||||
from .youtubedl import YtdlFile, YtdlInfo
|
from .youtubedl import YtdlFile, YtdlInfo
|
||||||
|
from ..error import FileTooBigError
|
||||||
from ..utils import fileformat
|
from ..utils import fileformat
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,6 +20,9 @@ class RoyalPCMFile(YtdlFile):
|
||||||
def __init__(self, info: "YtdlInfo", **ytdl_args):
|
def __init__(self, info: "YtdlInfo", **ytdl_args):
|
||||||
# Preemptively initialize info to be able to generate the filename
|
# Preemptively initialize info to be able to generate the filename
|
||||||
self.info = info
|
self.info = info
|
||||||
|
# If the video is longer than 3 hours, don't download it
|
||||||
|
if self.info.duration >= datetime.timedelta(hours=3):
|
||||||
|
raise FileTooBigError("File is over 3 hours long")
|
||||||
# Set the time to generate the filename
|
# Set the time to generate the filename
|
||||||
self._time = time.time()
|
self._time = time.time()
|
||||||
# Ensure the file doesn't already exist
|
# Ensure the file doesn't already exist
|
||||||
|
|
|
@ -41,3 +41,7 @@ class RoyalnetResponseError(Exception):
|
||||||
|
|
||||||
class ExternalError(Exception):
|
class ExternalError(Exception):
|
||||||
"""Something went wrong in a non-Royalnet component and the command execution cannot be completed."""
|
"""Something went wrong in a non-Royalnet component and the command execution cannot be completed."""
|
||||||
|
|
||||||
|
|
||||||
|
class FileTooBigError(Exception):
|
||||||
|
"""The file to be downloaded would be too big to store; therefore, it has been skipped."""
|
||||||
|
|
Loading…
Reference in a new issue