Skip to content

Commit e416434

Browse files
committed
merge #100
2 parents b83aec2 + 78c7dd8 commit e416434

File tree

8 files changed

+559
-457
lines changed

8 files changed

+559
-457
lines changed

src/api/apis/MALAPI.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { MediaType } from '../../utils/MediaType';
88
export class MALAPI extends APIModel {
99
plugin: MediaDbPlugin;
1010
typeMappings: Map<string, string>;
11+
apiDateFormat: string = 'YYYY-MM-DDTHH:mm:ssZ'; // ISO
1112

1213
constructor(plugin: MediaDbPlugin) {
1314
super();
@@ -115,7 +116,7 @@ export class MALAPI extends APIModel {
115116
image: result.images?.jpg?.image_url ?? '',
116117

117118
released: true,
118-
premiere: new Date(result.aired?.from).toLocaleDateString() ?? 'unknown',
119+
premiere: this.plugin.dateFormatter.format(result.aired?.from, this.apiDateFormat) ?? 'unknown',
119120
streamingServices: result.streaming?.map((x: any) => x.name) ?? [],
120121

121122
userData: {
@@ -146,7 +147,7 @@ export class MALAPI extends APIModel {
146147
image: result.images?.jpg?.image_url ?? '',
147148

148149
released: true,
149-
premiere: new Date(result.aired?.from).toLocaleDateString() ?? 'unknown',
150+
premiere: this.plugin.dateFormatter.format(result.aired?.from, this.apiDateFormat) ?? 'unknown',
150151
streamingServices: result.streaming?.map((x: any) => x.name) ?? [],
151152

152153
userData: {
@@ -176,8 +177,8 @@ export class MALAPI extends APIModel {
176177
image: result.images?.jpg?.image_url ?? '',
177178

178179
released: true,
179-
airedFrom: new Date(result.aired?.from).toLocaleDateString() ?? 'unknown',
180-
airedTo: new Date(result.aired?.to).toLocaleDateString() ?? 'unknown',
180+
airedFrom: this.plugin.dateFormatter.format(result.aired?.from, this.apiDateFormat) ?? 'unknown',
181+
airedTo: this.plugin.dateFormatter.format(result.aired?.to, this.apiDateFormat) ?? 'unknown',
181182
airing: result.airing,
182183

183184
userData: {

src/api/apis/OMDbAPI.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { MediaType } from '../../utils/MediaType';
99
export class OMDbAPI extends APIModel {
1010
plugin: MediaDbPlugin;
1111
typeMappings: Map<string, string>;
12+
apiDateFormat: string = 'DD MMM YYYY';
1213

1314
constructor(plugin: MediaDbPlugin) {
1415
super();
@@ -142,7 +143,7 @@ export class OMDbAPI extends APIModel {
142143

143144
released: true,
144145
streamingServices: [],
145-
premiere: new Date(result.Released).toLocaleDateString() ?? 'unknown',
146+
premiere: this.plugin.dateFormatter.format(result.Released, this.apiDateFormat) ?? 'unknown',
146147

147148
userData: {
148149
watched: false,
@@ -173,7 +174,7 @@ export class OMDbAPI extends APIModel {
173174
released: true,
174175
streamingServices: [],
175176
airing: false,
176-
airedFrom: new Date(result.Released).toLocaleDateString() ?? 'unknown',
177+
airedFrom: this.plugin.dateFormatter.format(result.Released, this.apiDateFormat) ?? 'unknown',
177178
airedTo: 'unknown',
178179

179180
userData: {
@@ -199,7 +200,7 @@ export class OMDbAPI extends APIModel {
199200
image: result.Poster ?? '',
200201

201202
released: true,
202-
releaseDate: new Date(result.Released).toLocaleDateString() ?? 'unknown',
203+
releaseDate: this.plugin.dateFormatter.format(result.Released, this.apiDateFormat) ?? 'unknown',
203204

204205
userData: {
205206
played: false,

src/api/apis/SteamAPI.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { MediaType } from '../../utils/MediaType';
88
export class SteamAPI extends APIModel {
99
plugin: MediaDbPlugin;
1010
typeMappings: Map<string, string>;
11+
apiDateFormat: string = 'DD MMM, YYYY';
1112

1213
constructor(plugin: MediaDbPlugin) {
1314
super();
@@ -109,7 +110,7 @@ export class SteamAPI extends APIModel {
109110
image: result.header_image ?? '',
110111

111112
released: !result.release_date?.comming_soon,
112-
releaseDate: new Date(result.release_date?.date).toLocaleDateString() ?? 'unknown',
113+
releaseDate: this.plugin.dateFormatter.format(result.release_date?.date, this.apiDateFormat) ?? 'unknown',
113114

114115
userData: {
115116
played: false,

src/api/apis/WikipediaAPI.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { MediaType } from '../../utils/MediaType';
66

77
export class WikipediaAPI extends APIModel {
88
plugin: MediaDbPlugin;
9+
apiDateFormat: string = 'YYYY-MM-DDTHH:mm:ssZ'; // ISO
910

1011
constructor(plugin: MediaDbPlugin) {
1112
super();
@@ -72,7 +73,7 @@ export class WikipediaAPI extends APIModel {
7273
id: result.pageid,
7374

7475
wikiUrl: result.fullurl,
75-
lastUpdated: new Date(result.touched).toLocaleDateString() ?? 'unknown',
76+
lastUpdated: this.plugin.dateFormatter.format(result.touched, this.apiDateFormat),
7677
length: result.length,
7778

7879
userData: {},

src/main.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@ import { YAMLConverter } from './utils/YAMLConverter';
1515
import { MediaDbFolderImportModal } from './modals/MediaDbFolderImportModal';
1616
import { PropertyMapping, PropertyMappingModel } from './settings/PropertyMapping';
1717
import { ModalHelper, ModalResultCode, SearchModalOptions } from './utils/ModalHelper';
18+
import { DateFormatter } from './utils/DateFormatter';
1819

1920
export default class MediaDbPlugin extends Plugin {
2021
settings: MediaDbPluginSettings;
2122
apiManager: APIManager;
2223
mediaTypeManager: MediaTypeManager;
2324
modelPropertyMapper: PropertyMapper;
2425
modalHelper: ModalHelper;
26+
dateFormatter: DateFormatter;
2527

2628
frontMatterRexExpPattern: string = '^(---)\\n[\\s\\S]*?\\n---';
2729

@@ -39,13 +41,15 @@ export default class MediaDbPlugin extends Plugin {
3941
this.mediaTypeManager = new MediaTypeManager();
4042
this.modelPropertyMapper = new PropertyMapper(this);
4143
this.modalHelper = new ModalHelper(this);
44+
this.dateFormatter = new DateFormatter();
4245

4346
await this.loadSettings();
4447
// register the settings tab
4548
this.addSettingTab(new MediaDbSettingTab(this.app, this));
4649

4750
this.mediaTypeManager.updateTemplates(this.settings);
4851
this.mediaTypeManager.updateFolders(this.settings);
52+
this.dateFormatter.setFormat(this.settings.customDateFormat);
4953

5054
// add icon to the left ribbon
5155
const ribbonIconEl = this.addRibbonIcon('database', 'Add new Media DB entry', () => this.createEntryWithAdvancedSearchModal());
@@ -563,6 +567,7 @@ export default class MediaDbPlugin extends Plugin {
563567
async saveSettings(): Promise<void> {
564568
this.mediaTypeManager.updateTemplates(this.settings);
565569
this.mediaTypeManager.updateFolders(this.settings);
570+
this.dateFormatter.setFormat(this.settings.customDateFormat);
566571

567572
await this.saveData(this.settings);
568573
}

0 commit comments

Comments
 (0)