Upload files to ''
This commit is contained in:
parent
9adfcbda9a
commit
90e19aada0
95
yamabiko.py
Normal file
95
yamabiko.py
Normal file
@ -0,0 +1,95 @@
|
||||
import json
|
||||
import argparse
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def get_arguments():
|
||||
all_args = argparse.ArgumentParser()
|
||||
|
||||
all_args.add_argument("-i", "--Json", required=True,
|
||||
help="Choose the JSON file with the comment data")
|
||||
all_args.add_argument("-v", "--Video", required=False,
|
||||
help="OPTIONAL: Choose the video file")
|
||||
|
||||
args = vars(all_args.parse_args())
|
||||
|
||||
return args
|
||||
|
||||
|
||||
def view_json_video(cli_args):
|
||||
with open(cli_args['Json']) as f:
|
||||
json_load = json.load(f)
|
||||
data = json_load['comments']
|
||||
|
||||
video = cli_args['Video']
|
||||
|
||||
return data, video
|
||||
|
||||
|
||||
def create_html(data_comments, data_video):
|
||||
# Beginning of the html file
|
||||
with open('index.html', 'w') as index:
|
||||
index.write(f"""<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CommentViewer</title>
|
||||
<style type='text/css'>
|
||||
body {{
|
||||
font-family: monospace;
|
||||
background-color: #181818;
|
||||
color: #FFFFFF;
|
||||
}}
|
||||
h1 {{
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
}}
|
||||
video {{
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}}
|
||||
.authorThumbnail {{
|
||||
width: 35px;
|
||||
border-radius: 50%;
|
||||
}}
|
||||
.timeText {{
|
||||
color: #AAAAAA;
|
||||
font-size: 10px;
|
||||
}}
|
||||
.commentText {{
|
||||
font-size: 14px;
|
||||
}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Yamabiko</h1>
|
||||
<h1>yt-dlp CommentViewer</h1>
|
||||
<video width='720' height='480' controls>
|
||||
<source src='{data_video}' type='video/mp4'>
|
||||
</video>
|
||||
""")
|
||||
|
||||
# Loading all the comments
|
||||
for i in data_comments:
|
||||
with open('index.html', 'a') as index:
|
||||
index.write(f"""
|
||||
<div class='comment'>
|
||||
<hr>
|
||||
<h3><img src={i['author_thumbnail']} class=authorThumbnail> {i['author']} <small class=timeText>{i['time_text']}</small></h3>
|
||||
<p class=commentText>{i['text']}</p>
|
||||
<p><small>Date commented: {datetime.fromtimestamp(i['timestamp']).strftime('%d-%m-%Y')}</small></p>
|
||||
<p>👍 {i['like_count']}</p>
|
||||
</div>
|
||||
""")
|
||||
|
||||
# Closing the html file
|
||||
with open('index.html', 'a') as index:
|
||||
index.write(f"""</body>
|
||||
</html>""")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
arguments = get_arguments()
|
||||
comments, video_file = view_json_video(arguments)
|
||||
create_html(comments, video_file)
|
Loading…
Reference in New Issue
Block a user