parent
32e07e7118
commit
8338e28188
@ -0,0 +1,96 @@
|
|||||||
|
# Imports
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
from os.path import exists
|
||||||
|
|
||||||
|
from rich.console import Console
|
||||||
|
|
||||||
|
from utils.console import print_markdown
|
||||||
|
from utils.console import print_step
|
||||||
|
|
||||||
|
from utils.loader import Loader
|
||||||
|
|
||||||
|
|
||||||
|
console = Console()
|
||||||
|
|
||||||
|
|
||||||
|
def setup():
|
||||||
|
if exists(".setup-done-before"):
|
||||||
|
console.log(
|
||||||
|
"[bold red]Setup was already done before! Please"
|
||||||
|
+ " make sure you have to run this script again.[/bold red]"
|
||||||
|
)
|
||||||
|
# to run the setup script again, but in better and more convenient manner.
|
||||||
|
if input("\033[1mRun the script again? [y/N] > \033[0m") not in ["y", "Y"]:
|
||||||
|
raise SystemExit()
|
||||||
|
|
||||||
|
|
||||||
|
print_step("Setup Assistant")
|
||||||
|
print_markdown(
|
||||||
|
"### You're in the setup wizard. Ensure you're supposed to be here, "
|
||||||
|
+ "then type yes to continue. If you're not sure, type no to quit."
|
||||||
|
)
|
||||||
|
|
||||||
|
# This Input is used to ensure the user is sure they want to continue.
|
||||||
|
# Again, let them know they are about to erase all other setup data.
|
||||||
|
console.log(
|
||||||
|
"Ensure you have the following ready to enter:\n"
|
||||||
|
+ "[bold green]Reddit Client ID\n"
|
||||||
|
+ "Reddit Client Secret\n"
|
||||||
|
+ "Reddit Username\n"
|
||||||
|
+ "Reddit Password\n"
|
||||||
|
+ "Reddit 2FA (yes or no)\n"
|
||||||
|
+ "Opacity (range of 0-1, decimals are accepted.)\n"
|
||||||
|
+ "Subreddit (without r/ or /r/)\n"
|
||||||
|
+ "Theme (light or dark)[/bold green]"
|
||||||
|
)
|
||||||
|
console.print(
|
||||||
|
"[bold]If you don't have these, please follow the instructions in the README.md file to "
|
||||||
|
+ "set them up.\n If you do have these, type yes to continue. If you don't, go ahead and "
|
||||||
|
+ "grab those quickly and come back.[/bold]"
|
||||||
|
)
|
||||||
|
|
||||||
|
"""Begin the setup process."""
|
||||||
|
|
||||||
|
cliID = input("Client ID > ")
|
||||||
|
cliSec = input("Client Secret > ")
|
||||||
|
user = input("Username > ")
|
||||||
|
passw = input("Password > ")
|
||||||
|
twofactor = input("2FA Enabled? (yes/no) > ")
|
||||||
|
opacity = input("Opacity? (range of 0-1) > ")
|
||||||
|
subreddit = input("Subreddit (without r/) > ")
|
||||||
|
theme = input("Theme? (light or dark) > ")
|
||||||
|
console.log("Attempting to save your credentials...")
|
||||||
|
|
||||||
|
loader = Loader("Saving Credentials...", "Done!").start()
|
||||||
|
# you can also put a while loop here, e.g. while VideoIsBeingMade == True: ...
|
||||||
|
time.sleep(0.5)
|
||||||
|
console.log("Removing old .env file...")
|
||||||
|
os.remove(".env")
|
||||||
|
time.sleep(0.5)
|
||||||
|
console.log("Creating new .env file...")
|
||||||
|
with open('.env', 'a') as f:
|
||||||
|
f.write(f'REDDIT_CLIENT_ID="{cliID}"\n')
|
||||||
|
time.sleep(0.5)
|
||||||
|
f.write(f'REDDIT_CLIENT_SECRET="{cliSec}"\n')
|
||||||
|
time.sleep(0.5)
|
||||||
|
f.write(f'REDDIT_USERNAME="{user}"\n')
|
||||||
|
time.sleep(0.5)
|
||||||
|
f.write(f'REDDIT_PASSWORD="{passw}"\n')
|
||||||
|
time.sleep(0.5)
|
||||||
|
f.write(f'REDDIT_2FA="{twofactor}"\n')
|
||||||
|
time.sleep(0.5)
|
||||||
|
f.write(f'THEME="{theme}"\n')
|
||||||
|
time.sleep(0.5)
|
||||||
|
f.write(f'SUBREDDIT="{subreddit}"\n')
|
||||||
|
time.sleep(0.5)
|
||||||
|
f.write(f'OPACITY="{opacity}"\n')
|
||||||
|
|
||||||
|
with open(".setup-done-before", "a", encoding="utf-8") as f:
|
||||||
|
f.write(
|
||||||
|
"This file will stop the setup assistant from running again."
|
||||||
|
)
|
||||||
|
|
||||||
|
loader.stop()
|
||||||
|
|
||||||
|
console.log("[bold green]Setup Complete![/bold green]")
|
Loading…
Reference in new issue