From e7cd06dd94d4334d96f487cb246e16e658d14af0 Mon Sep 17 00:00:00 2001 From: cbartondock Date: Sun, 26 Mar 2023 23:54:41 -0400 Subject: [PATCH] improve loggin --- src/lang/en-US/langStrings.json | 3 +- src/lib/controller-manager.ts | 52 +++++++++----------- src/models/language.model.ts | 3 +- src/renderer/components/parsers.component.ts | 4 +- src/renderer/services/parsers.service.ts | 7 ++- 5 files changed, 35 insertions(+), 34 deletions(-) diff --git a/src/lang/en-US/langStrings.json b/src/lang/en-US/langStrings.json index 9b3ad11bf4..7aff871cf6 100644 --- a/src/lang/en-US/langStrings.json +++ b/src/lang/en-US/langStrings.json @@ -457,7 +457,8 @@ "savingConfiguration": "Error encountered while saving user configurations!", "readingConfiguration": "Error encountered while reading user configurations!", "parserTypeMissing": "Cannot save without specifying parser type", - "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}" + "corruptedConfiguration__i": "One or more saved parser configurations are invalid!\r\nPermanent configuration saving is disabled until this issue is resolved.\r\nTry to manually fix errors yourself (file - ${file})\r\nor seek help on github or our official discord channel: ${error}", + "fetcingTemplates": "Error encountered while fetching controllers templates!" }, "validationErrors": { "parserType__md": "> Incorrect parser type!", diff --git a/src/lib/controller-manager.ts b/src/lib/controller-manager.ts index 323f18a5df..4567c76c79 100644 --- a/src/lib/controller-manager.ts +++ b/src/lib/controller-manager.ts @@ -57,32 +57,30 @@ export class ControllerManager { } // TODO - // 1) Convert to AppIDs [doesn't seem possible sadly] + // 1) Convert key to appIDs [doesn't seem possible sadly] // 2) Make titlemap not a class variable static readTemplates(steamDirectory: string, controllerType: string) { - try { + let templateDirUser = path.join(steamDirectory, 'steamapps', 'workshop', 'content', '241100') + let filesUser = glob.sync('*/*', { silent: true, dot: true, cwd: templateDirUser, absolute: true }); + let parsedTemplatesUser: any[] = filesUser.map((f: string) => Object.assign({ mappingId: f.split('/').slice(-2)[0] }, genericParser.parse(fs.readFileSync(f, 'utf-8')))) + .filter((x: any) => !!x['controller_mappings'] + && !!x['controller_mappings']['title'] + && !!x['controller_mappings']['controller_type'] + ) + .filter(x=> x.controller_mappings.controller_type === 'controller_'+controllerType) + .filter(x=> x.controller_mappings.title.slice(-match.length) === match) + .map(x=>Object.assign({},{ + title: x.controller_mappings.title, + mappingId: x.mappingId, + profileType: "workshop" + })); - let templateDirUser = path.join(steamDirectory, 'steamapps', 'workshop', 'content', '241100') - let filesUser = glob.sync('*/*', { silent: true, dot: true, cwd: templateDirUser, absolute: true }); - let parsedTemplatesUser: any[] = filesUser.map((f: string) => Object.assign({ mappingId: f.split('/').slice(-2)[0] }, genericParser.parse(fs.readFileSync(f, 'utf-8')))) - .filter((x: any) => !!x['controller_mappings'] - && !!x['controller_mappings']['title'] - && !!x['controller_mappings']['controller_type'] - ) - .filter(x=> x.controller_mappings.controller_type === 'controller_'+controllerType) - .filter(x=> x.controller_mappings.title.slice(-match.length) === match) - .map(x=>Object.assign({},{ - title: x.controller_mappings.title, - mappingId: x.mappingId, - profileType: "workshop" - })); - - let templateDirValve = path.join(steamDirectory, 'controller_base', 'templates') - let filesValve = glob.sync('*.vdf', { silent: true, dot: true, cwd: templateDirValve, absolute: true }); - let parsedTemplatesValve: any[] = filesValve.map((f: string) => Object.assign({ mappingId: path.basename(f) }, genericParser.parse(fs.readFileSync(f, 'utf-8')))) - .filter((x: any) => !!x['controller_mappings'] - && !!x['controller_mappings']['title'] + let templateDirValve = path.join(steamDirectory, 'controller_base', 'templates') + let filesValve = glob.sync('*.vdf', { silent: true, dot: true, cwd: templateDirValve, absolute: true }); + let parsedTemplatesValve: any[] = filesValve.map((f: string) => Object.assign({ mappingId: path.basename(f) }, genericParser.parse(fs.readFileSync(f, 'utf-8')))) + .filter((x: any) => !!x['controller_mappings'] + && !!x['controller_mappings']['title'] && !!x['controller_mappings']['controller_type'] ) .filter(x=> x.controller_mappings.controller_type === 'controller_'+controllerType) @@ -91,15 +89,11 @@ export class ControllerManager { mappingId: x.mappingId, profileType: "template" })); - parsedTemplatesValve = _.uniqBy(parsedTemplatesValve,'title'); + parsedTemplatesValve = _.uniqBy(parsedTemplatesValve,'title'); - let parsedTemplates = parsedTemplatesUser.concat(parsedTemplatesValve); + let parsedTemplates = parsedTemplatesUser.concat(parsedTemplatesValve); - return parsedTemplates - } catch(e) { - console.log(`Error getting Controller Templates:\n ${e}`) - return []; - } + return parsedTemplates } static transformTitle(gameTitle: string) { diff --git a/src/models/language.model.ts b/src/models/language.model.ts index 5e4defa426..5e3e2578bc 100644 --- a/src/models/language.model.ts +++ b/src/models/language.model.ts @@ -541,7 +541,8 @@ export interface languageStruct { savingConfiguration: string, readingConfiguration: string, parserTypeMissing: string, - corruptedConfiguration__i: string//${file}, ${error} + corruptedConfiguration__i: string,//${file}, ${error} + fetchingTemplates: string }, validationErrors: { parserType__md: string, diff --git a/src/renderer/components/parsers.component.ts b/src/renderer/components/parsers.component.ts index bc1569ccf3..98c315df4a 100644 --- a/src/renderer/components/parsers.component.ts +++ b/src/renderer/components/parsers.component.ts @@ -604,13 +604,13 @@ export class ParsersComponent implements AfterViewInit, OnDestroy { this.parsersService.saveControllerTemplates(this.controllerTemplates); } else { for(let controllerType of Object.keys(this.controllerTemplates[steamDir])) { - ((this.nestedGroup.children.controllers as NestedFormElement.Group).children[controllerType] as NestedFormElement.Select).values = this.controllerTemplates[steamDir][controllerType].map(template=>{ + ((this.nestedGroup.children.controllers as NestedFormElement.Group).children[controllerType] as NestedFormElement.Select).values = this.controllerTemplates[steamDir][controllerType].map(template => { return { displayValue: template.title, value: template } }); } } if(force) { - this.loggerService.success(this.lang.success.fetchedTemplates, {invokeAlert: true, alertTimeout: 3000}) + this.loggerService.success(this.lang.success.fetchedTemplates, { invokeAlert: true, alertTimeout: 3000 }) } } else if(force) { this.loggerService.error(this.lang.error.cannotFetchTemplates, { invokeAlert: true, alertTimeout: 3000 }); diff --git a/src/renderer/services/parsers.service.ts b/src/renderer/services/parsers.service.ts index 715c89343a..9c6e986cf3 100644 --- a/src/renderer/services/parsers.service.ts +++ b/src/renderer/services/parsers.service.ts @@ -74,7 +74,12 @@ export class ParsersService { } getControllerTemplates(steamDir: string, controllerType: string): any[] { - return ControllerManager.readTemplates(steamDir, controllerType); + try { + return ControllerManager.readTemplates(steamDir, controllerType); + } catch (error) { + this.loggerService.error(this.lang.error.fetchingTemplates, {invokeAlert: true, alertTimeout: 3000}); + this.loggerService.error(error); + } } removeControllers(steamDir: string, userId: string, parserId?: string) {