mirror of
https://github.com/Steffo99/greed.git
synced 2024-11-22 05:54:18 +00:00
Add config version handling
This commit is contained in:
parent
6091295563
commit
2d0631bb72
1 changed files with 29 additions and 11 deletions
34
core.py
34
core.py
|
@ -2,22 +2,40 @@ import os
|
|||
import sys
|
||||
import configparser
|
||||
|
||||
# Check if a configuration file exists and create one if it doesn't
|
||||
# Check if a configuration file exists, create one if it doesn't and get the template version number.
|
||||
with open("config/template_config.ini") as template_file:
|
||||
# Check if the config file exists
|
||||
if not os.path.isfile("config/config.ini"):
|
||||
# Copy the template file to the config file
|
||||
with open("config/template_config.ini") as template_file, open("config/config.ini", "w") as config_file:
|
||||
with open("config/config.ini", "w") as config_file:
|
||||
config_file.write(template_file.read())
|
||||
|
||||
# Create a configparser
|
||||
# Find the template version number
|
||||
config = configparser.ConfigParser()
|
||||
# Read the config file into the configparser
|
||||
config.read_file(template_file)
|
||||
template_version = int(config["Config"]["version"])
|
||||
|
||||
# Overwrite the template config with the values in the config
|
||||
with open("config/config.ini") as config_file:
|
||||
config.read_file(config_file)
|
||||
|
||||
# Check if the file has been edited correctly
|
||||
# Check if the file has been edited
|
||||
if config["Config"]["is_template"] == "yes":
|
||||
print("A config file has been created in config/config.ini.")
|
||||
print("Edit it with your configuration, set the is_template flag to false and restart this script.")
|
||||
print("A config file has been created in config/config.ini.\n"
|
||||
"Edit it with your configuration, set the is_template flag to false and restart this script.")
|
||||
sys.exit(1)
|
||||
|
||||
# Check if the version has changed from the template
|
||||
if template_version > int(config["Config"]["version"]):
|
||||
# Reset the is_template flag
|
||||
config["Config"]["is_template"] = "yes"
|
||||
# Update the config version
|
||||
config["Config"]["version"] = str(template_version)
|
||||
# Save the file
|
||||
with open("config/config.ini", "w") as config_file:
|
||||
config.write(config_file)
|
||||
# Notify the user and quit
|
||||
print("The config file in config/config.ini has been updated.\n"
|
||||
"Edit it with the new required data, set the is_template flag to true and restart this script.")
|
||||
sys.exit(1)
|
||||
|
||||
print("Program goes here")
|
Loading…
Reference in a new issue