Formatted with python-black

pull/729/head
Callum Leslie 3 years ago
parent dba11ea1e3
commit 69f4f59bb6

@ -37,8 +37,6 @@ def main():
load_dotenv() load_dotenv()
cleanup() cleanup()
reddit_object = get_subreddit_threads() reddit_object = get_subreddit_threads()
length, number_of_comments = save_text_to_mp3(reddit_object) length, number_of_comments = save_text_to_mp3(reddit_object)
download_screenshots_of_reddit_posts(reddit_object, number_of_comments) download_screenshots_of_reddit_posts(reddit_object, number_of_comments)

@ -35,7 +35,11 @@ def check_env() -> bool:
req_envs = [] req_envs = []
var_optional = False var_optional = False
for line in template.readlines(): for line in template.readlines():
if line.startswith("#") is not True and "=" in line and var_optional is not True: if (
line.startswith("#") is not True
and "=" in line
and var_optional is not True
):
req_envs.append(line.split("=")[0]) req_envs.append(line.split("=")[0])
if "#" in line: if "#" in line:
examples[line.split("=")[0]] = "#".join(line.split("#")[1:]).strip() examples[line.split("=")[0]] = "#".join(line.split("#")[1:]).strip()
@ -56,7 +60,9 @@ def check_env() -> bool:
) )
var_optional = False var_optional = False
elif line.startswith("#MATCH_TYPE "): elif line.startswith("#MATCH_TYPE "):
types[req_envs[-1]] = eval(line.removeprefix("#MATCH_TYPE ")[:-1].split()[0]) types[req_envs[-1]] = eval(
line.removeprefix("#MATCH_TYPE ")[:-1].split()[0]
)
var_optional = False var_optional = False
elif line.startswith("#EXPLANATION "): elif line.startswith("#EXPLANATION "):
explanations[req_envs[-1]] = line.removeprefix("#EXPLANATION ")[:-1] explanations[req_envs[-1]] = line.removeprefix("#EXPLANATION ")[:-1]
@ -82,9 +88,9 @@ def check_env() -> bool:
try: try:
temp = types[env](value) temp = types[env](value)
if env in bounds.keys(): if env in bounds.keys():
(bounds[env][0] <= temp or incorrect.add(env)) and len(bounds[env]) > 1 and ( (bounds[env][0] <= temp or incorrect.add(env)) and len(
bounds[env][1] >= temp or incorrect.add(env) bounds[env]
) ) > 1 and (bounds[env][1] >= temp or incorrect.add(env))
except ValueError: except ValueError:
incorrect.add(env) incorrect.add(env)
@ -107,11 +113,17 @@ def check_env() -> bool:
for env in missing: for env in missing:
table.add_row( table.add_row(
env, env,
explanations[env] if env in explanations.keys() else "No explanation given", explanations[env]
if env in explanations.keys()
else "No explanation given",
examples[env] if env in examples.keys() else "", examples[env] if env in examples.keys() else "",
str(bounds[env][0]) if env in bounds.keys() and bounds[env][1] is not None else "", str(bounds[env][0])
if env in bounds.keys() and bounds[env][1] is not None
else "",
str(bounds[env][1]) str(bounds[env][1])
if env in bounds.keys() and len(bounds[env]) > 1 and bounds[env][1] is not None if env in bounds.keys()
and len(bounds[env]) > 1
and bounds[env][1] is not None
else "", else "",
) )
console.print(table) console.print(table)
@ -128,7 +140,9 @@ def check_env() -> bool:
title_style="#C0CAF5 bold", title_style="#C0CAF5 bold",
) )
table.add_column("Variable", justify="left", style="#7AA2F7 bold", no_wrap=True) table.add_column("Variable", justify="left", style="#7AA2F7 bold", no_wrap=True)
table.add_column("Current value", justify="left", style="#F7768E", no_wrap=False) table.add_column(
"Current value", justify="left", style="#F7768E", no_wrap=False
)
table.add_column("Explanation", justify="left", style="#BB9AF7", no_wrap=False) table.add_column("Explanation", justify="left", style="#BB9AF7", no_wrap=False)
table.add_column("Example", justify="center", style="#F7768E", no_wrap=True) table.add_column("Example", justify="center", style="#F7768E", no_wrap=True)
table.add_column("Min", justify="right", style="#F7768E", no_wrap=True) table.add_column("Min", justify="right", style="#F7768E", no_wrap=True)
@ -137,10 +151,14 @@ def check_env() -> bool:
table.add_row( table.add_row(
env, env,
os.getenv(env), os.getenv(env),
explanations[env] if env in explanations.keys() else "No explanation given", explanations[env]
if env in explanations.keys()
else "No explanation given",
str(types[env].__name__) if env in types.keys() else "str", str(types[env].__name__) if env in types.keys() else "str",
str(bounds[env][0]) if env in bounds.keys() else "None", str(bounds[env][0]) if env in bounds.keys() else "None",
str(bounds[env][1]) if env in bounds.keys() and len(bounds[env]) > 1 else "None", str(bounds[env][1])
if env in bounds.keys() and len(bounds[env]) > 1
else "None",
) )
missing.add(env) missing.add(env)
console.print(table) console.print(table)
@ -177,11 +195,17 @@ def check_env() -> bool:
if env in explanations.keys() if env in explanations.keys()
else "Incorrect input. Try again.", else "Incorrect input. Try again.",
bounds[env][0] if env in bounds.keys() else None, bounds[env][0] if env in bounds.keys() else None,
bounds[env][1] if env in bounds.keys() and len(bounds[env]) > 1 else None, bounds[env][1]
oob_errors[env] if env in oob_errors.keys() else "Input too long/short.", if env in bounds.keys() and len(bounds[env]) > 1
else None,
oob_errors[env]
if env in oob_errors.keys()
else "Input too long/short.",
extra_info="[#C0CAF5 bold]⮶ " extra_info="[#C0CAF5 bold]⮶ "
+ ( + (
explanations[env] if env in explanations.keys() else "No info available" explanations[env]
if env in explanations.keys()
else "No info available"
), ),
) )
) )

@ -10,7 +10,9 @@ def cleanup() -> int:
""" """
if exists("./assets/temp"): if exists("./assets/temp"):
count = 0 count = 0
files = [f for f in os.listdir(".") if f.endswith(".mp4") and "temp" in f.lower()] files = [
f for f in os.listdir(".") if f.endswith(".mp4") and "temp" in f.lower()
]
count += len(files) count += len(files)
for f in files: for f in files:
os.remove(f) os.remove(f)

@ -64,10 +64,14 @@ def handle_input(
except ValueError: except ValueError:
console.print("[red]" + err_message) # Type conversion failed console.print("[red]" + err_message) # Type conversion failed
continue continue
if nmin is not None and len(user_input) < nmin: # Check if string is long enough if (
nmin is not None and len(user_input) < nmin
): # Check if string is long enough
console.print("[red]" + oob_error) console.print("[red]" + oob_error)
continue continue
if nmax is not None and len(user_input) > nmax: # Check if string is not too long if (
nmax is not None and len(user_input) > nmax
): # Check if string is not too long
console.print("[red]" + oob_error) console.print("[red]" + oob_error)
continue continue
break break

@ -6,7 +6,9 @@ from utils.console import print_step
def check_done( def check_done(
redditobj: dict[str], redditobj: dict[str],
)->dict[str]|None: # don't set this to be run anyplace that isn't subreddit.py bc of inspect stack ) -> dict[
str
] | None: # don't set this to be run anyplace that isn't subreddit.py bc of inspect stack
"""Checks if the chosen post has already been generated """Checks if the chosen post has already been generated
Args: Args:

@ -117,10 +117,8 @@ def make_final_video(number_of_clips:int, length:int):
image_concat.audio = audio_composite image_concat.audio = audio_composite
final = CompositeVideoClip([background_clip, image_concat]) final = CompositeVideoClip([background_clip, image_concat])
filename = f"{get_video_title()}.mp4" filename = f"{get_video_title()}.mp4"
save_data(filename) save_data(filename)
if not exists("./results"): if not exists("./results"):
@ -149,6 +147,7 @@ def make_final_video(number_of_clips:int, length:int):
f"Reddit title: {os.getenv('VIDEO_TITLE')} \n Background Credit: {os.getenv('background_credit')}" f"Reddit title: {os.getenv('VIDEO_TITLE')} \n Background Credit: {os.getenv('background_credit')}"
) )
def save_data(filename: str): def save_data(filename: str):
"""Saves the videos that have already been generated to a JSON file in video_creation/data/videos.json """Saves the videos that have already been generated to a JSON file in video_creation/data/videos.json
@ -170,6 +169,7 @@ def save_data(filename:str):
raw_vids.seek(0) raw_vids.seek(0)
json.dump(done_vids, raw_vids, ensure_ascii=False, indent=4) json.dump(done_vids, raw_vids, ensure_ascii=False, indent=4)
def get_video_title() -> str: def get_video_title() -> str:
"""Gets video title from env variable or gives it the name "final_video" """Gets video title from env variable or gives it the name "final_video"

@ -60,10 +60,13 @@ def download_screenshots_of_reddit_posts(reddit_object:dict[str], screenshot_num
if getenv("POSTLANG"): if getenv("POSTLANG"):
print_substep("Translating post...") print_substep("Translating post...")
texts_in_tl = ts.google(reddit_object["thread_title"], to_language=os.getenv("POSTLANG")) texts_in_tl = ts.google(
reddit_object["thread_title"], to_language=os.getenv("POSTLANG")
)
page.evaluate( page.evaluate(
'tl_content => document.querySelector(\'[data-test-id="post-content"] > div:nth-child(3) > div > div\').textContent = tl_content', texts_in_tl "tl_content => document.querySelector('[data-test-id=\"post-content\"] > div:nth-child(3) > div > div').textContent = tl_content",
texts_in_tl,
) )
else: else:
print_substep("Skipping translation...") print_substep("Skipping translation...")
@ -92,9 +95,12 @@ def download_screenshots_of_reddit_posts(reddit_object:dict[str], screenshot_num
# translate code # translate code
if getenv("POSTLANG"): if getenv("POSTLANG"):
comment_tl = ts.google(comment["comment_body"], to_language=os.getenv("POSTLANG")) comment_tl = ts.google(
comment["comment_body"], to_language=os.getenv("POSTLANG")
)
page.evaluate( page.evaluate(
'([tl_content, tl_id]) => document.querySelector(`#t1_${tl_id} > div:nth-child(2) > div > div[data-testid="comment"] > div`).textContent = tl_content', [comment_tl, comment['comment_id']] '([tl_content, tl_id]) => document.querySelector(`#t1_${tl_id} > div:nth-child(2) > div > div[data-testid="comment"] > div`).textContent = tl_content',
[comment_tl, comment["comment_id"]],
) )
page.locator(f"#t1_{comment['comment_id']}").screenshot( page.locator(f"#t1_{comment['comment_id']}").screenshot(

Loading…
Cancel
Save