"""
Authors:    Francesco Gabbanini <gabbanini_francesco@lilly.com>, 
            Manjunath C Bagewadi <bagewadi_manjunath_c@lilly.com>, 
            Henson Tauro <tauro_henson@lilly.com> 
            (MQ IDS - Data Integration and Analytics)
License:    MIT
"""

class ADFPC:
    STR_TIME = 'TIME'
    STR_START = 'START'
    STR_END = 'END'
    STR_MODEL = 'MODEL'
    STR_VERSION = 'VERSION'
    STR_TYPE = 'TYPE'
    STR_OUTLIERS_FRACTION = 'OUTLIERS FRACTION'
    STR_EPOCHS = 'EPOCHS'
    STR_HIDDEN_NEURONS = 'HIDDEN NEURONS MODE'
    STR_HIDDEN_LAYERS = 'HIDDEN LAYERS'
    STR_RESET_KERAS_BEFORE_FIT = 'RESET KERAS BEFORE FIT'
    STR_EXPLAINER = 'EXPLAINER'
    STR_TYPE = 'TYPE'
    STR_SUMMARY_TYPE = 'SUMMARY TYPE'
    STR_SUMMARY_SIZE = 'SUMMARY SIZE'
    STR_DB = 'DB'
    STR_USER = 'USER'
    STR_HOST = 'DB HOST'
    STR_PORT = 'PORT'
    STR_DBNAME = 'DB NAME'
    STR_SSL = 'SSL'
    STR_PASS = 'PASS'
    STR_SSL_CERT_PATH = 'SSL CERT PATH'
    STR_FEAT_TABLE_NAME = 'RAWFEAT TABLE NAME'
    STR_CMPFEAT_TABLE_NAME = 'CMPFEAT TABLE NAME'
    STR_CLS_TABLE_NAME = 'CLS TABLE NAME'
    STR_DIAG_TABLE_NAME = 'DIAG TABLE NAME'
    STR_CMP_TABLE_NAME = 'CMP TABLE NAME'
    STR_CLS_TABLE_OCOLS = 'CLS TABLE OUTPUT COLS'
    STR_OUT = 'OUT'
    STR_WRITE_ENABLED = 'WRITE ENABLED'
    STR_AWS = 'AWS'
    STR_AWS_ACCT_ID = 'AWS ACCOUNT ID'
    STR_AWS_SVC_ACCT = 'SVC ACCOUNT'
    STR_AWS_SVC_ACCT_PWDENVVAR = 'SVC ACCOUNT PWD ENVVAR NAME'
    STR_AWS_GW_ADDRESS = 'GATEWAY ADDRESS'
    STR_AWS_GW_ROLE = 'GATEWAY ROLE'
    STR_AWS_SSL_CERTPATH = 'SSL CERT PATH'
    STR_AWS_SSL_KEYPATH = 'SSL CERT KEY PATH'
    STR_AWS_PROXY = 'PROXY'

    STR_PATHS = 'PATHS'
    STR_PATHS_ARTIFACT_OUT = 'LOCAL ARTIFACT OUT'
    STR_PATHS_S3_ARTIFACT_OUT = 'S3 ARTIFACT OUT'
    STR_PATHS_COMPONENT_CFG = 'COMPONENT CFG'
    STR_PWD_ENVVAR = 'PWD ENVVAR NAME'
    STR_DASH = 'DASH'
    STR_DASH_HOST = 'HOST'
    STR_DASH_PORT = 'PORT'
    STR_DASH_DEBUG = 'DEBUG'
    STR_DASH_SITE = 'SITE'
    STR_DASH_LINES = 'LINES'

    #equipment_cfg.yml
    STR_DESCRIPTION = 'DESCRIPTION'
    STR_FEATURES = 'FEATURES'
    STR_TRAINSTART = 'TRAINSTART'
    STR_TRAINEND = 'TRAINEND'
    STR_TRAIN = 'TRAIN'
    STR_CLASSIF = 'CLASSIFICATION'
    STR_CLASSIFICATION_MODE = 'MODE'
    STR_EQUIPMENTS = 'EQUIPMENTS'
    STR_ENABLED = 'ENABLED'
    STR_TRAIN_ENABLED = 'TRAIN ENABLED'
    STR_CLASSIF_ENABLED = 'CLASSIFICATION ENABLED'
    STR_LATEST_CLASSIF = 'LATEST'
    STR_EQM_ID = '_ID'
    STR_SHIFTS = 'SHIFTS'
    STR_SHIFTSTART_01 = 'START01'
    STR_SHIFTSTART_02 = 'START02'
    STR_SHIFTSTART_03 = 'START03'

    #model dictionary
    STR_SCALEROBJ = 'SCALER OBJECT'
    STR_CLASIFIEROBJ = 'CLASSIFIER OBJECT'
    STR_CLASSIFIERVERSION = 'CLASSIFIER VERSION'
    STR_CLASSIFIERNAME = 'CLASSIFIER NAME'
    STR_TRAININGDATA = 'TRAINING DATA'

    MODEL_ANN = 'ANNClassifier'
    SUMMARY_KMEANS = 'kmeans'
    SUMMARY_SAMPLE = 'sample'

    #job
    STR_COMPONENTS = "COMPONENTS"
    STR_SITE = "SITE"

    #logging
    STR_LOG_CFG_PATH = 'LOG_CFG_PATH'

    STR_USERS_TABLE = 'USERS TABLE NAME'
    STR_EQUIPMENT_RETRAIN_TABLE = 'EQUIPMENT RETRAIN TABLE NAME'
    