Templates for file names #8

This commit is contained in:
mProjectsCode 2022-05-22 12:59:14 +02:00
parent 16299feced
commit 2c57094332
14 changed files with 231 additions and 115 deletions

View file

@ -1,6 +1,6 @@
import {MediaTypeModel} from './MediaTypeModel';
import {stringifyYaml} from 'obsidian';
import {mediaDbTag} from '../utils/Utils';
import {MediaType} from '../utils/MediaType';
export class GameModel extends MediaTypeModel {
@ -29,19 +29,15 @@ export class GameModel extends MediaTypeModel {
Object.assign(this, obj);
this.type = 'game';
}
toMetaData(): string {
return stringifyYaml({...this, tags: '#' + this.getTags().join('/')});
}
getFileName(): string {
return this.title + (this.year ? ` (${this.year})` : '');
this.type = this.getMediaType();
}
getTags(): string[] {
return [mediaDbTag, 'game'];
}
getMediaType(): MediaType {
return MediaType.Game;
}
}

View file

@ -1,3 +1,6 @@
import {MediaType} from '../utils/MediaType';
import {stringifyYaml} from 'obsidian';
export abstract class MediaTypeModel {
type: string;
subType: string;
@ -8,10 +11,12 @@ export abstract class MediaTypeModel {
url: string;
id: string;
abstract toMetaData(): string;
abstract getFileName(): string;
abstract getMediaType(): MediaType;
abstract getTags(): string[];
toMetaData(): string {
return stringifyYaml({...this, tags: '#' + this.getTags().join('/')});
}
}

View file

@ -1,6 +1,6 @@
import {MediaTypeModel} from './MediaTypeModel';
import {stringifyYaml} from 'obsidian';
import {mediaDbTag} from '../utils/Utils';
import {MediaType} from '../utils/MediaType';
export class MovieModel extends MediaTypeModel {
@ -32,19 +32,15 @@ export class MovieModel extends MediaTypeModel {
Object.assign(this, obj);
this.type = 'movie';
}
toMetaData(): string {
return stringifyYaml({...this, tags: '#' + this.getTags().join('/')});
}
getFileName(): string {
return this.title + (this.year ? ` (${this.year})` : '');
this.type = this.getMediaType();
}
getTags(): string[] {
return [mediaDbTag, 'tv', 'movie'];
}
getMediaType(): MediaType {
return MediaType.Movie;
}
}

View file

@ -1,6 +1,6 @@
import {MediaTypeModel} from './MediaTypeModel';
import {stringifyYaml} from 'obsidian';
import {mediaDbTag} from '../utils/Utils';
import {MediaType} from '../utils/MediaType';
export class MusicReleaseModel extends MediaTypeModel {
@ -24,19 +24,15 @@ export class MusicReleaseModel extends MediaTypeModel {
Object.assign(this, obj);
this.type = 'musicRelease';
}
toMetaData(): string {
return stringifyYaml({...this, tags: '#' + this.getTags().join('/')});
}
getFileName(): string {
return this.title + ' (' + this.artists.join(', ') + ' - ' + this.year + ' - ' + this.subType + ')';
this.type = this.getMediaType();
}
getTags(): string[] {
return [mediaDbTag, 'music', 'album'];
}
getMediaType(): MediaType {
return MediaType.MusicRelease;
}
}

View file

@ -1,6 +1,6 @@
import {MediaTypeModel} from './MediaTypeModel';
import {stringifyYaml} from 'obsidian';
import {mediaDbTag} from '../utils/Utils';
import {MediaType} from '../utils/MediaType';
export class SeriesModel extends MediaTypeModel {
@ -35,19 +35,15 @@ export class SeriesModel extends MediaTypeModel {
Object.assign(this, obj);
this.type = 'series';
}
toMetaData(): string {
return stringifyYaml({...this, tags: '#' + this.getTags().join('/')});
}
getFileName(): string {
return this.title + ' (' + this.year + ')';
this.type = this.getMediaType();
}
getTags(): string[] {
return [mediaDbTag, 'tv', 'series'];
}
getMediaType(): MediaType {
return MediaType.Series;
}
}

View file

@ -1,6 +1,6 @@
import {MediaTypeModel} from './MediaTypeModel';
import {stringifyYaml} from 'obsidian';
import {mediaDbTag} from '../utils/Utils';
import {MediaType} from '../utils/MediaType';
export class WikiModel extends MediaTypeModel {
@ -23,19 +23,15 @@ export class WikiModel extends MediaTypeModel {
Object.assign(this, obj);
this.type = 'wiki';
}
toMetaData(): string {
return stringifyYaml({...this, tags: '#' + this.getTags().join('/')});
}
getFileName(): string {
return this.title;
this.type = this.getMediaType();
}
getTags(): string[] {
return [mediaDbTag, 'wiki'];
}
getMediaType(): MediaType {
return MediaType.Wiki;
}
}