#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Jan  8 10:26:56 2021

@author: neal
"""

import os
import yaml

class ConfigurationFile():
  def __init__(self, app_path):
    self.app_file = app_path
    self.cfg_path = os.path.dirname(os.path.realpath(app_path))
    (base, ext) = os.path.splitext(os.path.basename(app_path))
    self.app_name = base
    self.cfg_file = self.app_name + ".yaml"    
    self.use_path = ""
    self.config = []

  def find_config(self):
    # local first
    if os.path.isfile(self.cfg_file):
      self.use_path = self.cfg_file
      return 1
    elif os.path.isfile(self.cfg_path + "/" + self.cfg_file):
      self.use_path = self.cfg_path + "/" + self.cfg_file
      return 1
    else:
      print("Config file not found:", self.cfg_file)
    return 0

  def read_config(self):
    if self.find_config():
#      print(self.app_file, " using configuration file: ", self.use_path)
      with open(self.use_path) as f:
        self.config = yaml.load(f, Loader=yaml.FullLoader)
        f.close()
    else:
      self.config = []
    return self.config

  def write_config(self, config):
    with open(self.use_path, 'w') as f:
      f.write(yaml.dump(config))
      f.close()
  