diff --git a/apps/api/src/services/data-provider/manual/manual.service.ts b/apps/api/src/services/data-provider/manual/manual.service.ts index 8bc77f57c..77b96e3ac 100644 --- a/apps/api/src/services/data-provider/manual/manual.service.ts +++ b/apps/api/src/services/data-provider/manual/manual.service.ts @@ -236,6 +236,7 @@ export class ManualService implements DataProviderInterface { abortController.abort(); }, this.configurationService.get('REQUEST_TIMEOUT')); + let locale = scraperConfiguration.locale; const { body, headers } = await got(scraperConfiguration.url, { headers: scraperConfiguration.headers as Headers, // @ts-ignore @@ -248,14 +249,15 @@ export class ManualService implements DataProviderInterface { jsonpath.query(data, scraperConfiguration.selector)[0] ); - return extractNumberFromString({ value }); + return extractNumberFromString({ locale, value }); } else { const $ = cheerio.load(body); - let locale: string; - try { - locale = $('html').attr('lang'); - } catch {} + if (!locale) { + try { + locale = $('html').attr('lang'); + } catch {} + } return extractNumberFromString({ locale, diff --git a/apps/api/src/services/symbol-profile/symbol-profile.service.ts b/apps/api/src/services/symbol-profile/symbol-profile.service.ts index 37671c4e2..5f808b3db 100644 --- a/apps/api/src/services/symbol-profile/symbol-profile.service.ts +++ b/apps/api/src/services/symbol-profile/symbol-profile.service.ts @@ -202,6 +202,7 @@ export class SymbolProfileService { defaultMarketPrice: scraperConfiguration.defaultMarketPrice as number, headers: scraperConfiguration.headers as ScraperConfiguration['headers'], + locale: scraperConfiguration.locale as string, selector: scraperConfiguration.selector as string, url: scraperConfiguration.url as string }; diff --git a/libs/common/src/lib/interfaces/scraper-configuration.interface.ts b/libs/common/src/lib/interfaces/scraper-configuration.interface.ts index 0446459ad..ef5506328 100644 --- a/libs/common/src/lib/interfaces/scraper-configuration.interface.ts +++ b/libs/common/src/lib/interfaces/scraper-configuration.interface.ts @@ -1,6 +1,7 @@ export interface ScraperConfiguration { defaultMarketPrice?: number; headers?: { [key: string]: string }; + locale?: string; selector: string; url: string; }