62 lines
1.6 KiB
TypeScript
62 lines
1.6 KiB
TypeScript
import mainTemplates from './mainTemplates'
|
|
import constants from './folders'
|
|
import cv from './controlled_vocabulary'
|
|
|
|
|
|
import log, {LogLevelDesc} from 'loglevel'
|
|
|
|
interface ConfigOverride {
|
|
iso_date_format?: string,
|
|
log_actions?: string,
|
|
log_level?: 'debug' | 'warn' | 'info',
|
|
}
|
|
|
|
/**
|
|
* configuration générale à importer dans les utilitaires
|
|
*/
|
|
class config_rangement {
|
|
log_level: LogLevelDesc = 'debug' // 'debug' | 'warn' |'info'
|
|
|
|
version = '1.0.0'
|
|
iso_date_format = 'yyyy-MM-DDTHH.mm.ss' // target format for dates in file names
|
|
tagSeparator = ' '
|
|
tagSectionSeparator = '--'
|
|
keepFreeText = true
|
|
keepTags = true
|
|
replaceUnderscoreWithSpaces = true
|
|
renameFolders = false
|
|
enableTestsLocally = false
|
|
reportStatistics = true
|
|
controlled_vocabulary = cv
|
|
constants = constants
|
|
base_archive_folder = constants.base_archive_folder
|
|
templates = mainTemplates;
|
|
statistics = {};
|
|
keepOriginalNameInRename = true;
|
|
log_actions = true;
|
|
|
|
/**
|
|
* override config if we want
|
|
* @param overridingConfig
|
|
*/
|
|
constructor(overridingConfig?: ConfigOverride) {
|
|
|
|
|
|
log.setLevel('info')
|
|
if (overridingConfig) {
|
|
log.debug('configuration is overrided')
|
|
let keys = Object.keys(overridingConfig)
|
|
let self: any = this;
|
|
keys.forEach((elem, index) => {
|
|
if (self[keys[index]]) {
|
|
self[keys[index]] = elem
|
|
}
|
|
})
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
const rangement_instance = new config_rangement({});
|
|
export default rangement_instance
|