Source code for pyrate.config_setter

"""Generates a default config file in current folder

"""
import os
from configparser import ConfigParser

__author__ = '''Eoin O'Keeffe, Will Usher'''


[docs]def gen_default_config(*args): """Generates a default config file in current folder This command generates a default configuration file and folder structure in the current folder. The folders generated are: repositories To hold additional repository code for pyrate algorithms To hold additional algorithm code for pyrate aiscsv For AIS csv files (required by algorithms/aisparser.py) baddata For AIS import logfiles (required by algorithms/aisparser.py) """ file_dir = os.path.dirname(os.path.realpath(__file__)) default_config = ConfigParser() default_config.add_section('globals') repo_directory = os.path.join(os.getcwd(), 'repositories') if not os.path.exists(repo_directory): os.mkdir(repo_directory) default_config.set('globals', 'repos', repo_directory) algo_directory = os.path.join(os.getcwd(), 'algorithms') if not os.path.exists(algo_directory): os.mkdir(algo_directory) default_config.set('globals', 'algos', algo_directory) aiscsv_directory = os.path.join(os.getcwd(), 'aiscsv') if not os.path.exists(aiscsv_directory): os.mkdir(aiscsv_directory) default_config.add_section('aiscsv') default_config.set('aiscsv', 'type', 'file') default_config.set('aiscsv', 'path', aiscsv_directory) default_config.set('aiscsv', 'extensions', '.csv') default_config.set('aiscsv', 'unzip', 'True') baddata_directory = os.path.join(os.getcwd(), 'baddata') if not os.path.exists(baddata_directory): os.mkdir(baddata_directory) default_config.add_section('baddata') default_config.set('baddata', 'type', 'file') default_config.set('baddata', 'path', baddata_directory) default_config.add_section('aisdb') default_config.set('aisdb', 'type', 'aisdb') default_config.set('aisdb', 'host', 'localhost') default_config.set('aisdb', 'db', 'test_aisdb') default_config.set('aisdb', 'user', 'test_ais') default_config.set('aisdb', 'ro_user', 'test_ais') default_config.set('aisdb', 'pass', 'test_ais') default_config.set('aisdb', 'ro_pass', 'test_ais') default_config.set('aisdb', 'ro_user', 'test_ais') default_config.set('aisdb', 'ro_pass', 'test_ais') default_config.set('aisdb', 'postgis', 'yes') # now write to file with open('aistool.conf', 'w') as config_file: default_config.write(config_file) print("****************************************************") print("aistool.conf has been created in the current working folder") print("Please check the settings to ensure they are correct") print("....especially postgres database settings") print("----------------------------------------------------") print("Folder structure for logging has also been created") print("****************************************************")