Skip to content

Commit ee0595f

Browse files
add local paths
1 parent f0f2314 commit ee0595f

File tree

6 files changed

+2259
-1123
lines changed

6 files changed

+2259
-1123
lines changed

logos/data.json

Lines changed: 2230 additions & 1108 deletions
Large diffs are not rendered by default.

src/DataFinalizer.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { PreFinalizedResults } from "./types";
1+
import { ManufacturerLogos, PreFinalizedResults } from "./types";
22
import BaseClass from "./BaseClass";
3-
import { META_JSON_PATH, PublicAccessUrl } from "./config";
3+
import { LocalAccessPath, META_JSON_PATH, PublicAccessUrl } from "./config";
44

55
class DataFinalizer extends BaseClass {
66
results: PreFinalizedResults;
@@ -30,10 +30,13 @@ class DataFinalizer extends BaseClass {
3030
thumb: PublicAccessUrl.Thumb(thumb),
3131
optimized: PublicAccessUrl.Optimized(thumb),
3232
original: PublicAccessUrl.Original(thumb),
33+
localThumb: LocalAccessPath.Thumb(thumb),
34+
localOptimized: LocalAccessPath.Optimized(thumb),
35+
localOriginal: LocalAccessPath.Original(thumb),
3336
};
3437
}
3538

36-
protected composeResultsData() {
39+
protected composeResultsData(): ManufacturerLogos {
3740
return this.results.logos.map((logo) => {
3841
const variations = this.getLogoVariations(logo.slug);
3942
const image = {...logo.image, ...variations};
@@ -52,7 +55,7 @@ class DataFinalizer extends BaseClass {
5255

5356
console.log(`Done data saved to ${META_JSON_PATH}.`);
5457
} catch (e) {
55-
console.error(e)
58+
console.error(e);
5659
}
5760
}
5861
}

src/ImageOptimizer.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import sharp from "sharp";
22
import * as fs from "fs";
3-
import { LogosPath, THUMB_HEIGHT } from "./config";
3+
import { LogosTargetLocation, THUMB_HEIGHT } from "./config";
44
import BaseClass from "./BaseClass";
55

66
class ImageOptimizer extends BaseClass {
@@ -19,14 +19,16 @@ class ImageOptimizer extends BaseClass {
1919
} as const;
2020

2121
constructor() {
22-
super()
22+
super();
2323
this.loadOriginals();
2424
}
2525

2626
protected loadOriginals() {
27-
const dirContent = fs.readdirSync(LogosPath.Original);
27+
const dirContent = fs.readdirSync(LogosTargetLocation.Original);
2828

29-
this.originals = dirContent.filter((path) => !!this.getFileExtFromPath(path));
29+
this.originals = dirContent.filter(
30+
(path) => !!this.getFileExtFromPath(path)
31+
);
3032
}
3133

3234
protected async optimizeImages() {
@@ -35,9 +37,9 @@ class ImageOptimizer extends BaseClass {
3537
const targetFile = `${name}.png`;
3638

3739
try {
38-
await sharp(`${LogosPath.Original}/${logo}`)
40+
await sharp(`${LogosTargetLocation.Original}/${logo}`)
3941
.png(this.optimizeOpts)
40-
.toFile(`${LogosPath.Optimized}/${targetFile}`);
42+
.toFile(`${LogosTargetLocation.Optimized}/${targetFile}`);
4143

4244
this.optimized.push(targetFile);
4345
} catch (e) {
@@ -54,10 +56,10 @@ class ImageOptimizer extends BaseClass {
5456
const targetFile = logo;
5557

5658
try {
57-
await sharp(`${LogosPath.Optimized}/${logo}`)
59+
await sharp(`${LogosTargetLocation.Optimized}/${logo}`)
5860
.png(this.optimizeOpts)
5961
.resize(this.resizeOpts)
60-
.toFile(`${LogosPath.Thumbs}/${targetFile}`);
62+
.toFile(`${LogosTargetLocation.Thumbs}/${targetFile}`);
6163

6264
this.thumbs.push(targetFile);
6365
} catch (e) {

src/LogoScrapper.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Manufacturer, Manufacturers, ManufacturersLogos } from "./types";
22
import BaseClass from "./BaseClass";
3-
import { BASE_URL, LogosPath, Selector, Url } from "./config";
3+
import { BASE_URL, LogosTargetLocation, Selector, Url } from "./config";
44

55
class LogoScrapper extends BaseClass {
66
manufacturers: Manufacturers = [];
@@ -63,7 +63,7 @@ class LogoScrapper extends BaseClass {
6363
const extension = this.getFileExtFromUrl(sourceUrl);
6464
const slug = this.slugify(manufacturer.name).toLowerCase();
6565
const fileName = `${slug}.${extension}`;
66-
const targetLocation = `${LogosPath.Original}/${fileName}`;
66+
const targetLocation = `${LogosTargetLocation.Original}/${fileName}`;
6767

6868
await this.downloadFile(sourceUrl, targetLocation);
6969

src/config.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,18 @@ export const THUMB_HEIGHT = 256;
99

1010
export const META_JSON_PATH = path.resolve("./logos/data.json");
1111

12-
export const LogosPath = {
12+
export const LogosTargetLocation = {
1313
Optimized: path.resolve("./logos/optimized"),
1414
Thumbs: path.resolve("./logos/thumb"),
1515
Original: path.resolve("./logos/original"),
1616
};
1717

18+
export const LocalAccessPath = {
19+
Optimized: (file: string) => `./optimized/${file}`,
20+
Thumb: (file: string) => `./thumb/${file}`,
21+
Original: (file: string) => `./original/${file}`,
22+
};
23+
1824
export const PublicAccessUrl = {
1925
Thumb: (file: string) => `${BASE_PUBLIC_ACCESS_URL}/logos/thumb/${file}`,
2026
Original: (file: string) =>

src/types.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ export type ManufacturersLogos = CoreManufacturerLogo[];
1818
export type ManufacturerLogo = {
1919
image: {
2020
original: string;
21+
localOriginal: string;
2122
thumb: string;
23+
localThumb: string;
2224
optimized: string;
25+
localOptimized: string;
2326
};
2427
} & CoreManufacturerLogo;
2528

0 commit comments

Comments
 (0)