# Load VIMS Default Company Settings

import os
import sys
import mysql.connector

try:
    import cElementTree as ET
except ImportError:
    try:
# Python 2.5 need to import a different module
        import xml.etree.cElementTree as ET
    except ImportError:
        exit_err("Failed to import cElementTree from any known place")      

# Get Current Path
dir_path = os.path.dirname(os.path.realpath(__file__))
        
def defaultSettings():
    defaults = {}
# Parse a xml file (specify the path)
    def_file = os.path.join(dir_path, '../../vimsconfig/systemsettings.xml')
#   def_file = "c:\\web\\veldb\\rdtnsk\\vimsconfig\\systemsettings.xml"
    try:
        dom = ET.parse(open(def_file, "r"))
        root = dom.getroot()
    except:
        exit_err("Unable to open and parse input definition file: " + def_file)
        
    for system in root.iter('system'):
        for setting in system:
            if ((setting.tag.lower() == "systemid") and (setting.text.lower() == "default")):
                for setting in system:
                    defaults[setting.tag] = str(setting.text)
#    print("default_setting-",defaults)
    return defaults

def companySettings(defaults):
#    print("companySetting-start..")
    try:
        print("Attempting to connect to the database...")
        cnx = mysql.connector.connect(
            user=defaults['dbuser'],
            password=defaults['dbpwd'],
            host=defaults['dbhost'],
            database=defaults['dbase']
        )
        print("Connection successful!")

        dataQuery = "SELECT * FROM company WHERE id=" + defaults['company'] + " LIMIT 1"
#        print('Executing query:', dataQuery)

        cursor = cnx.cursor(dictionary=True)
        cursor.execute(dataQuery)
        data = cursor.fetchall()

        for row in data:
            defaults['interfacein'] = row['interface_input']
            defaults['interfaceout'] = row['interface_output']
        
#        print("Data retrieved successfully.")

    except mysql.connector.Error as err:
        print('MySQL Error:', err)
    except Exception as e:
        print('General Error:', e)
    finally:
        try:
            if cursor:
                cursor.close()
#                print("Cursor closed.")
            if cnx:
                cnx.close()
#                print("Connection closed.")
        except Exception as e:
            print('Error closing resources:', e)
    defaults['interfacein'] = '/rrfiles/input/'
    defaults['interfaceout'] = '/rrfiles/output/'
#    print("companySettings-",defaults)
    return defaults

def main():
    defaults = defaultSettings()
    defaults = companySettings(defaults)
    
    if (len(sys.argv)>1):
        if (sys.argv[1] == "interfacein"):
            sys.stdout.write(defaults['interfacein'])
        if (sys.argv[1] == "interfaceout"):
            sys.stdout.write(defaults['interfaceout'])
        sys.exit(0)
        
#    print("defaults:",defaults)

if __name__ == '__main__':
    main()

#   print(defaults)