Merge tag 'exist_dir' into develop

v0.1.3
This commit is contained in:
taizan-hokuto
2020-08-06 00:32:07 +09:00
2 changed files with 11 additions and 3 deletions

View File

@@ -2,7 +2,7 @@
pytchat is a lightweight python library to browse youtube livechat without Selenium or BeautifulSoup. pytchat is a lightweight python library to browse youtube livechat without Selenium or BeautifulSoup.
""" """
__copyright__ = 'Copyright (C) 2019 taizan-hokuto' __copyright__ = 'Copyright (C) 2019 taizan-hokuto'
__version__ = '0.1.2' __version__ = '0.1.3'
__license__ = 'MIT' __license__ = 'MIT'
__author__ = 'taizan-hokuto' __author__ = 'taizan-hokuto'
__author_email__ = '55448286+taizan-hokuto@users.noreply.github.com' __author_email__ = '55448286+taizan-hokuto@users.noreply.github.com'

View File

@@ -1,4 +1,5 @@
import argparse import argparse
import os
from pathlib import Path from pathlib import Path
from pytchat.util.extract_video_id import extract_video_id from pytchat.util.extract_video_id import extract_video_id
from .arguments import Arguments from .arguments import Arguments
@@ -21,7 +22,8 @@ def main():
# Arguments # Arguments
parser = argparse.ArgumentParser(description=f'pytchat v{__version__}') parser = argparse.ArgumentParser(description=f'pytchat v{__version__}')
parser.add_argument('-v', f'--{Arguments.Name.VIDEO_IDS}', type=str, parser.add_argument('-v', f'--{Arguments.Name.VIDEO_IDS}', type=str,
help='Video ID (or URL that includes Video ID). You can specify multiple video IDs by separating them with commas without spaces.\n' help='Video ID (or URL that includes Video ID). You can specify multiple video IDs by '
'separating them with commas without spaces.\n'
'If ID starts with a hyphen (-), enclose the ID in square brackets.') 'If ID starts with a hyphen (-), enclose the ID in square brackets.')
parser.add_argument('-o', f'--{Arguments.Name.OUTPUT}', type=str, parser.add_argument('-o', f'--{Arguments.Name.OUTPUT}', type=str,
help='Output directory (end with "/"). default="./"', default='./') help='Output directory (end with "/"). default="./"', default='./')
@@ -38,13 +40,17 @@ def main():
if '[' in video_id: if '[' in video_id:
video_id = video_id.replace('[', '').replace(']', '') video_id = video_id.replace('[', '').replace(']', '')
try: try:
if os.path.exists(Arguments().output):
path = Path(Arguments().output + video_id + '.html')
else:
raise FileNotFoundError
video_id = extract_video_id(video_id) video_id = extract_video_id(video_id)
info = VideoInfo(video_id) info = VideoInfo(video_id)
print(f"Extracting...\n" print(f"Extracting...\n"
f" video_id: {video_id}\n" f" video_id: {video_id}\n"
f" channel: {info.get_channel_name()}\n" f" channel: {info.get_channel_name()}\n"
f" title: {info.get_title()}") f" title: {info.get_title()}")
path = Path(Arguments().output + video_id + '.html')
print(f" output path: {path.resolve()}") print(f" output path: {path.resolve()}")
Extractor(video_id, Extractor(video_id,
processor=HTMLArchiver( processor=HTMLArchiver(
@@ -56,6 +62,8 @@ def main():
print("Invalid Video ID or URL:", video_id) print("Invalid Video ID or URL:", video_id)
except (TypeError, NoContents) as e: except (TypeError, NoContents) as e:
print(e) print(e)
except FileNotFoundError:
print("The specified directory does not exist.:{}".format(Arguments().output ))
return return
parser.print_help() parser.print_help()