fixes after self review

pull/1070/head
Drugsosos 3 years ago
parent 7ca565eb8d
commit 1d86a8762c
No known key found for this signature in database
GPG Key ID: 8E35176FE617E28D

@ -1,203 +1,198 @@
[reddit]
[reddit.creds]
[reddit.creds.client_id]
optional = false
nmin = 12
nmax = 30
explanation = "the ID of your Reddit app of SCRIPT type"
example = "fFAGRNJru1FTz70BzhT3Zg"
regex = "^[-a-zA-Z0-9._~+/]+=*$"
input_error = "The client ID can only contain printable characters."
oob_error = "The ID should be over 12 and under 30 characters, double check your input."
[reddit.creds.client_secret]
optional = false
nmin = 20
nmax = 40
explanation = "the SECRET of your Reddit app of SCRIPT var_type"
example = "fFAGRNJru1FTz70BzhT3Zg"
regex = "^[-a-zA-Z0-9._~+/]+=*$"
input_error = "The client ID can only contain printable characters."
oob_error = "The secret should be over 20 and under 40 characters, double check your input."
[reddit.creds.username]
optional = false
nmin = 3
nmax = 20
explanation = "the username of your reddit account"
example = "JasonLovesDoggo"
regex = "^[-_0-9a-zA-Z]+$"
oob_error = "A username HAS to be between 3 and 20 characters"
[reddit.creds.password]
optional = false
nmin = 8
explanation = "the password of your reddit account"
example = "fFAGRNJru1FTz70BzhT3Zg"
oob_error = "Password too short"
[reddit.creds.2fa]
optional = true
var_type = "bool"
options = [true, false]
default = false
explanation = "Whether you have Reddit 2FA enabled, Valid options are True and False"
example = true
[reddit.thread]
[reddit.thread.random]
optional = true
options = [true, false]
default = false
var_type = "bool"
explanation = "If set to no, it will ask you a thread link to extract the thread, if yes it will randomize it. Default: 'False'"
example = "True"
[reddit.thread.subreddit]
optional = false
regex = "[_0-9a-zA-Z]+$"
nmin = 3
explanation = "what subreddit to pull posts from, the name of the sub, not the URL"
example = "AskReddit"
oob_error = "A subreddit name HAS to be between 3 and 20 characters"
[reddit.thread.post_id]
optional = true
default = ""
regex = "^((?!://|://)[+a-zA-Z0-9])*$"
explanation = "Used if you want to use a specific post."
example = "urdtfx"
[reddit.thread.max_comment_length]
default = 500
optional = false
nmin = 10
nmax = 10000
var_type = "int"
explanation = "max number of characters a comment can have. default is 500"
example = 500
oob_error = "the max comment length should be between 10 and 10000"
[reddit.thread.post_lang]
default = ""
optional = true
explanation = "The language you would like to translate to."
example = "es-cr"
[reddit.thread.min_comments]
default = 20
optional = false
nmin = 15
var_type = "int"
explanation = "The minimum number of comments a post should have to be included. default is 20"
example = 29
oob_error = "the minimum number of comments should be between 15 and 999999"
[reddit.creds]
[reddit.creds.client_id]
optional = false
nmin = 12
nmax = 30
explanation = "the ID of your Reddit app of SCRIPT type"
example = "fFAGRNJru1FTz70BzhT3Zg"
regex = "^[-a-zA-Z0-9._~+/]+=*$"
input_error = "The client ID can only contain printable characters."
oob_error = "The ID should be over 12 and under 30 characters, double check your input."
[reddit.creds.client_secret]
optional = false
nmin = 20
nmax = 40
explanation = "the SECRET of your Reddit app of SCRIPT var_type"
example = "fFAGRNJru1FTz70BzhT3Zg"
regex = "^[-a-zA-Z0-9._~+/]+=*$"
input_error = "The client ID can only contain printable characters."
oob_error = "The secret should be over 20 and under 40 characters, double check your input."
[reddit.creds.username]
optional = false
nmin = 3
nmax = 20
explanation = "the username of your reddit account"
example = "JasonLovesDoggo"
regex = "^[-_0-9a-zA-Z]+$"
oob_error = "A username HAS to be between 3 and 20 characters"
[reddit.creds.password]
optional = false
nmin = 8
explanation = "the password of your reddit account"
example = "fFAGRNJru1FTz70BzhT3Zg"
oob_error = "Password too short"
[reddit.creds.2fa]
optional = true
var_type = "bool"
options = [true, false]
default = false
explanation = "Whether you have Reddit 2FA enabled, Valid options are True and False"
example = true
[reddit.thread]
[reddit.thread.random]
optional = true
options = [true, false]
default = false
var_type = "bool"
explanation = "If set to no, it will ask you a thread link to extract the thread, if yes it will randomize it. Default: 'False'"
example = "True"
[reddit.thread.subreddit]
optional = false
regex = "[_0-9a-zA-Z]+$"
nmin = 3
explanation = "what subreddit to pull posts from, the name of the sub, not the URL"
example = "AskReddit"
oob_error = "A subreddit name HAS to be between 3 and 20 characters"
[reddit.thread.post_id]
optional = true
default = ""
regex = "^((?!://|://)[+a-zA-Z0-9])*$"
explanation = "Used if you want to use a specific post."
example = "urdtfx"
[reddit.thread.max_comment_length]
default = 500
optional = false
nmin = 10
nmax = 10000
var_type = "int"
explanation = "max number of characters a comment can have. default is 500"
example = 500
oob_error = "the max comment length should be between 10 and 10000"
[reddit.thread.post_lang]
default = ""
optional = true
explanation = "The language you would like to translate to."
example = "es-cr"
[reddit.thread.min_comments]
default = 20
optional = false
nmin = 15
var_type = "int"
explanation = "The minimum number of comments a post should have to be included. default is 20"
example = 29
oob_error = "the minimum number of comments should be between 15 and 999999"
[settings]
[settings.allow_nsfw]
optional = false
var_type = "bool"
default = false
example = false
options = [true, false]
explanation = "Whether to allow NSFW content, True or False"
[settings.theme]
optional = false
default = "dark"
example = "light"
options = ["dark", "light"]
explanation = "sets the Reddit theme, either LIGHT or DARK"
[settings.times_to_run]
optional = false
default = 1
example = 2
explanation = "used if you want to run multiple times. set to an int e.g. 4 or 29 or 1"
var_type = "int"
nmin = 1
oob_error = "It's very hard to run something less than once."
[settings.opacity]
optional = false
default = 0.9
example = 0.8
explanation = "Sets the opacity of the comments when overlayed over the background"
var_type = "float"
nmin = 0
nmax = 1
oob_error = "The opacity HAS to be between 0 and 1"
input_error = "The opacity HAS to be a decimal number between 0 and 1"
[settings.transition]
optional = true
default = 0.2
example = 0.2
explanation = "Sets the transition time (in seconds) between the comments. Set to 0 if you want to disable it."
var_type = "float"
nmin = 0
nmax = 2
oob_error = "The transition HAS to be between 0 and 2"
input_error = "The opacity HAS to be a decimal number between 0 and 2"
[settings.storymode]
optional = true
var_type = "bool"
default = false
example = false
options = [true, false]
explanation = "not yet implemented"
[settings.background]
[settings.background.background_choice]
optional = true
default = "minecraft"
example = "minecraft"
options = ["minecraft", "gta", "rocket-league", "motor-gta", "csgo-surf", "cluster-truck", ""]
explanation = "Sets the background for the video"
#[settings.background.background_audio]
#optional = true
#var_type = "bool"
#default = false
#example = false
#options = [true, false]
#explaination="Sets a audio to play in the background (put a background.mp3 file in the assets/backgrounds directory for it to be used.)"
#
#[settings.background.background_audio_volume]
#optional = true
#var_type = "float"
#default = 0.3
#example = 0.1
#explanation="Sets the volume of the background audio. only used if the background_audio is also set to true"
[settings.tts]
[settings.tts.choice]
optional = false
default = ""
options = ["streamlabspolly", "tiktok", "googletranslate", "awspolly", ""]
example = "streamlabspolly"
explanation = "The backend used for TTS generation. This can be left blank and you will be prompted to choose at runtime."
[settings.tts.aws_polly_voice]
optional = false
default = "Matthew"
example = "Matthew"
explanation = "The voice used for AWS Polly"
[settings.tts.streamlabs_polly_voice]
optional = false
default = "Matthew"
example = "Matthew"
explanation = "The voice used for Streamlabs Polly"
[settings.tts.tiktok_voice]
optional = false
default = "en_us_006"
example = "en_us_006"
explanation = "The voice used for TikTok TTS"
[settings.allow_nsfw]
optional = false
var_type = "bool"
default = false
example = false
options = [true, false]
explanation = "Whether to allow NSFW content, True or False"
[settings.theme]
optional = false
default = "dark"
example = "light"
options = ["dark", "light"]
explanation = "sets the Reddit theme, either LIGHT or DARK"
[settings.times_to_run]
optional = false
default = 1
example = 2
explanation = "used if you want to run multiple times. set to an int e.g. 4 or 29 or 1"
var_type = "int"
nmin = 1
oob_error = "It's very hard to run something less than once."
[settings.opacity]
optional = false
default = 0.9
example = 0.8
explanation = "Sets the opacity of the comments when overlayed over the background"
var_type = "float"
nmin = 0
nmax = 1
oob_error = "The opacity HAS to be between 0 and 1"
input_error = "The opacity HAS to be a decimal number between 0 and 1"
[settings.transition]
optional = true
default = 0.2
example = 0.2
explanation = "Sets the transition time (in seconds) between the comments. Set to 0 if you want to disable it."
var_type = "float"
nmin = 0
nmax = 2
oob_error = "The transition HAS to be between 0 and 2"
input_error = "The opacity HAS to be a decimal number between 0 and 2"
[settings.storymode]
optional = true
var_type = "bool"
default = false
example = false
options = [true, false]
explanation = "not yet implemented"
[settings.background]
[settings.background.background_choice]
optional = true
default = "minecraft"
example = "minecraft"
options = ["minecraft", "gta", "rocket-league", "motor-gta", "csgo-surf", "cluster-truck", ""]
explanation = "Sets the background for the video"
#[settings.background.background_audio]
#optional = true
#var_type = "bool"
#default = false
#example = false
#options = [true, false]
#explaination="Sets a audio to play in the background (put a background.mp3 file in the assets/backgrounds directory for it to be used.)"
#
#[settings.background.background_audio_volume]
#optional = true
#var_type = "float"
#default = 0.3
#example = 0.1
#explanation="Sets the volume of the background audio. only used if the background_audio is also set to true"
[settings.tts]
[settings.tts.choice]
optional = false
default = ""
options = ["streamlabspolly", "tiktok", "googletranslate", "awspolly", ""]
example = "streamlabspolly"
explanation = "The backend used for TTS generation. This can be left blank and you will be prompted to choose at runtime."
[settings.tts.aws_polly_voice]
optional = false
default = "Matthew"
example = "Matthew"
explanation = "The voice used for AWS Polly"
[settings.tts.streamlabs_polly_voice]
optional = false
default = "Matthew"
example = "Matthew"
explanation = "The voice used for Streamlabs Polly"
[settings.tts.tiktok_voice]
optional = false
default = "en_us_006"
example = "en_us_006"
explanation = "The voice used for TikTok TTS"

@ -154,7 +154,7 @@ def check_vars(
checks: dict,
) -> None:
"""
Checks if value is in nested dict and correct by path of keys
Checks if there is the value in the dict and it's correct
Args:
path: List with path
@ -204,9 +204,9 @@ def check_config_wrapper(
return False
console.print("Unable to read config, and not allowed to overwrite it. Giving up.")
return False
# except Exception as error:
# console.print(f"[red bold]Encountered error when trying to to load {kwargs['template_name']}: {error}")
# return False
except Exception as error:
console.print(f"[red bold]Encountered error when trying to to load {kwargs['template_name']}: {error}")
return False
return wrapper
@ -248,6 +248,16 @@ def check_config(
config = toml.load(config_name)
template = toml.load(template_name)
console.print(
"""\
[blue bold]###############################
# #
# Checking TOML configuration #
# #
###############################
If you see any prompts, that means that you have unset/incorrectly set variables, please input the correct values.\
"""
)
crawl(template, check_vars)
with open(config_name, "w") as f:
toml.dump(config, f)

Loading…
Cancel
Save