From 3c6baa428c50ca86a721a8edd0c6a3098050add9 Mon Sep 17 00:00:00 2001 From: Jason Date: Tue, 9 Aug 2022 21:28:04 -0400 Subject: [PATCH] fixed https://github.com/elebumm/RedditVideoMakerBot/commit/71c317da23b02b4228376ebeab35e0a405a687e9 by removing match usage (3.10+ only) optimized imports --- README.md | 3 +-- TTS/GTTS.py | 4 +++- TTS/TikTok.py | 4 +++- TTS/aws_polly.py | 6 ++++-- TTS/engine_wrapper.py | 7 ++++--- TTS/pyttsx.py | 2 ++ TTS/streamlabs_polly.py | 2 ++ main.py | 10 +++++----- reddit/subreddit.py | 10 ++++------ utils/console.py | 5 +++-- utils/id.py | 6 ++++-- utils/settings.py | 7 +++---- utils/version.py | 1 + utils/video.py | 3 +-- utils/videos.py | 1 - utils/voice.py | 2 +- video_creation/background.py | 5 ++--- video_creation/final_video.py | 3 ++- video_creation/screenshot_downloader.py | 12 +++++------- video_creation/voices.py | 9 ++++----- 20 files changed, 54 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 8d61d9a..5ffafb5 100644 --- a/README.md +++ b/README.md @@ -39,12 +39,11 @@ The only original thing being done is the editing and gathering of all materials 1. Clone this repository 2. Run `pip install -r requirements.txt` - 3. Run `python -m playwright install` and `python -m playwright install-deps` **EXPERIMENTAL!!!!** -On MacOS and Linux (debian, arch, fedora and centos, and based on those), you can run an install script that will automatically install steps 1 to 3. (requires bash) +On macOS and Linux (debian, arch, fedora and centos, and based on those), you can run an install script that will automatically install steps 1 to 3. (requires bash) `bash <(curl -sL https://raw.githubusercontent.com/elebumm/RedditVideoMakerBot/master/install.sh)` diff --git a/TTS/GTTS.py b/TTS/GTTS.py index 29b5333..3bf8ee3 100644 --- a/TTS/GTTS.py +++ b/TTS/GTTS.py @@ -1,8 +1,10 @@ #!/usr/bin/env python3 import random -from utils import settings + from gtts import gTTS +from utils import settings + class GTTS: def __init__(self): diff --git a/TTS/TikTok.py b/TTS/TikTok.py index 743118c..807d6c7 100644 --- a/TTS/TikTok.py +++ b/TTS/TikTok.py @@ -1,9 +1,11 @@ import base64 -from utils import settings import random + import requests from requests.adapters import HTTPAdapter, Retry +from utils import settings + # from profanity_filter import ProfanityFilter # pf = ProfanityFilter() # Code by @JasonLovesDoggo diff --git a/TTS/aws_polly.py b/TTS/aws_polly.py index eac5884..525da91 100644 --- a/TTS/aws_polly.py +++ b/TTS/aws_polly.py @@ -1,9 +1,11 @@ #!/usr/bin/env python3 +import random +import sys + from boto3 import Session from botocore.exceptions import BotoCoreError, ClientError, ProfileNotFound -import sys + from utils import settings -import random voices = [ "Brian", diff --git a/TTS/engine_wrapper.py b/TTS/engine_wrapper.py index 12668df..52d95e5 100644 --- a/TTS/engine_wrapper.py +++ b/TTS/engine_wrapper.py @@ -1,17 +1,18 @@ #!/usr/bin/env python3 +import re from pathlib import Path from typing import Tuple -import re # import sox # from mutagen import MutagenError # from mutagen.mp3 import MP3, HeaderNotFoundError import translators as ts -from rich.progress import track from moviepy.editor import AudioFileClip, CompositeAudioClip, concatenate_audioclips +from rich.progress import track + +from utils import settings from utils.console import print_step, print_substep from utils.voice import sanitize_text -from utils import settings DEFAULT_MAX_LENGTH: int = 50 # video length variable diff --git a/TTS/pyttsx.py b/TTS/pyttsx.py index b5ffb29..bf47601 100644 --- a/TTS/pyttsx.py +++ b/TTS/pyttsx.py @@ -1,5 +1,7 @@ import random + import pyttsx3 + from utils import settings diff --git a/TTS/streamlabs_polly.py b/TTS/streamlabs_polly.py index 75c4f49..dc80dc9 100644 --- a/TTS/streamlabs_polly.py +++ b/TTS/streamlabs_polly.py @@ -1,6 +1,8 @@ import random + import requests from requests.exceptions import JSONDecodeError + from utils import settings from utils.voice import check_ratelimit diff --git a/main.py b/main.py index 8a0755d..3cf725f 100755 --- a/main.py +++ b/main.py @@ -1,18 +1,17 @@ #!/usr/bin/env python import math -import re -from subprocess import Popen +import sys from os import name +from subprocess import Popen from prawcore import ResponseException from reddit.subreddit import get_subreddit_threads -from utils.cleanup import cleanup -from utils.console import print_markdown, print_step, print_substep from utils import settings +from utils.cleanup import cleanup +from utils.console import print_markdown, print_step from utils.id import id from utils.version import checkversion - from video_creation.background import ( download_background, chop_background_video, @@ -76,6 +75,7 @@ def shutdown(): exit() if __name__ == "__main__": + assert sys.version_info >= (3, 9), "Python 3.10 or higher is required" config = settings.check_toml("utils/.config.template.toml", "config.toml") config is False and exit() try: diff --git a/reddit/subreddit.py b/reddit/subreddit.py index 11b93af..1798654 100644 --- a/reddit/subreddit.py +++ b/reddit/subreddit.py @@ -1,11 +1,10 @@ import re -from prawcore.exceptions import ResponseException - -from utils import settings import praw from praw.models import MoreComments +from prawcore.exceptions import ResponseException +from utils import settings from utils.console import print_step, print_substep from utils.subreddit import get_subreddit_undone from utils.videos import check_done @@ -41,9 +40,8 @@ def get_subreddit_threads(POST_ID: str): check_for_async=False, ) except ResponseException as e: - match e.response.status_code: - case 401: - print("Invalid credentials - please check them in config.toml") + if e.response.status_code == 401: + print("Invalid credentials - please check them in config.toml") except: print("Something went wrong...") diff --git a/utils/console.py b/utils/console.py index 6f99a41..11d299f 100644 --- a/utils/console.py +++ b/utils/console.py @@ -1,11 +1,12 @@ #!/usr/bin/env python3 +import re + +from rich.columns import Columns from rich.console import Console from rich.markdown import Markdown from rich.padding import Padding from rich.panel import Panel from rich.text import Text -from rich.columns import Columns -import re console = Console() diff --git a/utils/id.py b/utils/id.py index cdf71a6..3d76593 100644 --- a/utils/id.py +++ b/utils/id.py @@ -1,5 +1,7 @@ import re -from utils import print_substep + +from utils.console import print_substep + def id(reddit_obj: dict): """ @@ -7,4 +9,4 @@ def id(reddit_obj: dict): """ id = re.sub(r"[^\w\s-]", "", reddit_obj["thread_id"]) print_substep(f"Thread ID is {id}", style="bold blue") - return id \ No newline at end of file + return id diff --git a/utils/settings.py b/utils/settings.py index a9d7726..a5d2a80 100755 --- a/utils/settings.py +++ b/utils/settings.py @@ -1,12 +1,11 @@ #!/usr/bin/env python -import toml -from rich.console import Console import re - from typing import Tuple, Dict -from utils.console import handle_input +import toml +from rich.console import Console +from utils.console import handle_input console = Console() config = dict # autocomplete diff --git a/utils/version.py b/utils/version.py index a8177cc..d39afa7 100644 --- a/utils/version.py +++ b/utils/version.py @@ -1,4 +1,5 @@ import requests + from utils.console import print_step diff --git a/utils/video.py b/utils/video.py index 5566cd1..d1b8218 100644 --- a/utils/video.py +++ b/utils/video.py @@ -1,7 +1,6 @@ from __future__ import annotations -from ast import Str -import re +import re from typing import Tuple from PIL import ImageFont, Image, ImageDraw, ImageEnhance diff --git a/utils/videos.py b/utils/videos.py index 4a91e8c..7c756fc 100755 --- a/utils/videos.py +++ b/utils/videos.py @@ -1,6 +1,5 @@ import json import time -from typing import Dict from praw.models import Submission diff --git a/utils/voice.py b/utils/voice.py index 24ba78e..0ff6b37 100644 --- a/utils/voice.py +++ b/utils/voice.py @@ -1,7 +1,7 @@ import re import sys -from datetime import datetime import time as pytime +from datetime import datetime from time import sleep from requests import Response diff --git a/video_creation/background.py b/video_creation/background.py index 1676f97..de330c7 100644 --- a/video_creation/background.py +++ b/video_creation/background.py @@ -1,10 +1,9 @@ -from pathlib import Path import random -from random import randrange import re +from pathlib import Path +from random import randrange from typing import Any, Tuple - from moviepy.editor import VideoFileClip from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip from pytube import YouTube diff --git a/video_creation/final_video.py b/video_creation/final_video.py index 743e561..37ef31d 100755 --- a/video_creation/final_video.py +++ b/video_creation/final_video.py @@ -4,6 +4,7 @@ import os import re from os.path import exists from typing import Tuple, Any + from moviepy.audio.AudioClip import concatenate_audioclips, CompositeAudioClip from moviepy.audio.io.AudioFileClip import AudioFileClip from moviepy.video.VideoClip import ImageClip @@ -13,11 +14,11 @@ from moviepy.video.io.VideoFileClip import VideoFileClip from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip from rich.console import Console +from utils import settings from utils.cleanup import cleanup from utils.console import print_step, print_substep from utils.video import Video from utils.videos import save_data -from utils import settings console = Console() W, H = 1080, 1920 diff --git a/video_creation/screenshot_downloader.py b/video_creation/screenshot_downloader.py index 0c70f0c..f85bd02 100644 --- a/video_creation/screenshot_downloader.py +++ b/video_creation/screenshot_downloader.py @@ -1,19 +1,17 @@ import json - -from pathlib import Path import re +from pathlib import Path from typing import Dict -from utils import settings -from playwright.async_api import async_playwright # pylint: disable=unused-import - -# do not remove the above line +import translators as ts from playwright.sync_api import sync_playwright, ViewportSize from rich.progress import track -import translators as ts +from utils import settings from utils.console import print_step, print_substep +# do not remove the above line + storymode = False diff --git a/video_creation/voices.py b/video_creation/voices.py index f49514d..511b7ff 100644 --- a/video_creation/voices.py +++ b/video_creation/voices.py @@ -1,19 +1,18 @@ #!/usr/bin/env python -from typing import Dict, Tuple +from typing import Tuple from rich.console import Console -from TTS.engine_wrapper import TTSEngine from TTS.GTTS import GTTS -from TTS.streamlabs_polly import StreamlabsPolly -from TTS.aws_polly import AWSPolly from TTS.TikTok import TikTok +from TTS.aws_polly import AWSPolly +from TTS.engine_wrapper import TTSEngine from TTS.pyttsx import pyttsx +from TTS.streamlabs_polly import StreamlabsPolly from utils import settings from utils.console import print_table, print_step - console = Console() TTSProviders = {