Fix extracting video_id

This commit is contained in:
taizan-hokuto
2020-08-21 22:23:33 +09:00
parent 283443e374
commit 56294d6a67
3 changed files with 12 additions and 4 deletions

View File

@@ -3,7 +3,7 @@ import os
from pathlib import Path
from pytchat.util.extract_video_id import extract_video_id
from .arguments import Arguments
from .. exceptions import InvalidVideoIdException, NoContents
from .. exceptions import InvalidVideoIdException, NoContents, VideoInfoParseException
from .. processors.html_archiver import HTMLArchiver
from .. tool.extract.extractor import Extractor
from .. tool.videoinfo import VideoInfo
@@ -40,11 +40,11 @@ def main():
if '[' in video_id:
video_id = video_id.replace('[', '').replace(']', '')
try:
video_id = extract_video_id(video_id)
if os.path.exists(Arguments().output):
path = Path(Arguments().output + video_id + '.html')
else:
raise FileNotFoundError
video_id = extract_video_id(video_id)
info = VideoInfo(video_id)
print(f"Extracting...\n"
f" video_id: {video_id}\n"
@@ -64,6 +64,8 @@ def main():
print(e)
except FileNotFoundError:
print("The specified directory does not exist.:{}".format(Arguments().output))
except VideoInfoParseException:
print("Cannot parse video information.:{}".format(video_id))
return
parser.print_help()

View File

@@ -62,3 +62,9 @@ class ReceivedUnknownContinuation(ChatParseException):
class FailedExtractContinuation(ChatDataFinished):
pass
class VideoInfoParseException(Exception):
'''
thrown when failed to parse video info
'''

View File

@@ -79,7 +79,7 @@ class Extractor:
def extract(self):
if self.duration == 0:
print("video is not archived.")
print("\nCannot extract chat data:\n The specified video has not yet been archived.")
return []
data = self._execute_extract_operations()
if self.processor is None: