1
Fork 0
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:
Steffo 2017-12-07 12:06:34 +01:00
parent 6091295563
commit 2d0631bb72
WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS.
GPG key ID: C27544372FBB445D

40
core.py
View file

@ -2,22 +2,40 @@ import os
import sys import sys
import configparser 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.
if not os.path.isfile("config/config.ini"): with open("config/template_config.ini") as template_file:
# Copy the template file to the config file # Check if the config file exists
with open("config/template_config.ini") as template_file, open("config/config.ini", "w") as config_file: if not os.path.isfile("config/config.ini"):
config_file.write(template_file.read()) # Copy the template file to the config file
with open("config/config.ini", "w") as config_file:
config_file.write(template_file.read())
# Find the template version number
config = configparser.ConfigParser()
config.read_file(template_file)
template_version = int(config["Config"]["version"])
# Create a configparser # Overwrite the template config with the values in the config
config = configparser.ConfigParser()
# Read the config file into the configparser
with open("config/config.ini") as config_file: with open("config/config.ini") as config_file:
config.read_file(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": if config["Config"]["is_template"] == "yes":
print("A config file has been created in config/config.ini.") print("A config file has been created in config/config.ini.\n"
print("Edit it with your configuration, set the is_template flag to false and restart this script.") "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) sys.exit(1)
print("Program goes here") print("Program goes here")