Skip to content

Commit 7cadc7f

Browse files
committed
Merge branch 'master' into release
2 parents 94bcef0 + 752f13f commit 7cadc7f

16 files changed

+70
-44
lines changed

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"id": "obsidian-media-db-plugin",
33
"name": "Media DB Plugin",
4-
"version": "0.4.0",
4+
"version": "0.4.1",
55
"minAppVersion": "0.14.0",
66
"description": "A plugin that can query multiple APIs for movies, series, anime, games, music and wiki articles, and import them into your vault.",
77
"author": "Moritz Jung",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "obsidian-media-db-plugin",
3-
"version": "0.4.0",
3+
"version": "0.4.1",
44
"description": "A plugin that can query multiple APIs for movies, series, anime, games, music and wiki articles, and import them into your vault.",
55
"main": "main.js",
66
"scripts": {

src/main.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ export default class MediaDbPlugin extends Plugin {
232232

233233
let fileContent = await this.generateMediaDbNoteContents(mediaTypeModel, options);
234234

235-
await this.createNote(this.mediaTypeManager.getFileName(mediaTypeModel), fileContent, options.openNote);
235+
await this.createNote(this.mediaTypeManager.getFileName(mediaTypeModel), fileContent, options);
236236
} catch (e) {
237237
console.warn(e);
238238
new Notice(e.toString());
@@ -325,18 +325,18 @@ export default class MediaDbPlugin extends Plugin {
325325
*
326326
* @param fileName
327327
* @param fileContent
328-
* @param openFile
328+
* @param options
329329
*/
330-
async createNote(fileName: string, fileContent: string, openFile: boolean = false) {
331-
fileName = replaceIllegalFileNameCharactersInString(fileName);
332-
const filePath = `${this.settings.folder.replace(/\/$/, '')}/${fileName}.md`;
333-
334-
// find and possibly create the folder set in settings
335-
const folder = this.app.vault.getAbstractFileByPath(this.settings.folder);
330+
async createNote(fileName: string, fileContent: string, options: CreateNoteOptions) {
331+
// find and possibly create the folder set in settings or passed in folder
332+
const folder = options.folder ?? this.app.vault.getAbstractFileByPath(this.settings.folder);
336333
if (!folder) {
337-
await this.app.vault.createFolder(this.settings.folder.replace(/\/$/, ''));
334+
await this.app.vault.createFolder(folder.path);
338335
}
339336

337+
fileName = replaceIllegalFileNameCharactersInString(fileName);
338+
const filePath = `${folder.path}/${fileName}.md`;
339+
340340
// find and delete file with the same name
341341
const file = this.app.vault.getAbstractFileByPath(filePath);
342342
if (file) {
@@ -348,7 +348,7 @@ export default class MediaDbPlugin extends Plugin {
348348
console.debug(`MDB | created new file at ${filePath}`);
349349

350350
// open newly crated file
351-
if (openFile) {
351+
if (options.openNote) {
352352
const activeLeaf = this.app.workspace.getUnpinnedLeaf();
353353
if (!activeLeaf) {
354354
console.warn('MDB | no active leaf, not opening newly created note');
@@ -378,20 +378,22 @@ export default class MediaDbPlugin extends Plugin {
378378
}
379379

380380
let oldMediaTypeModel = this.mediaTypeManager.createMediaTypeModelFromMediaType(metadata, metadata.type);
381+
// console.debug(oldMediaTypeModel);
381382

382383
let newMediaTypeModel = await this.apiManager.queryDetailedInfoById(metadata.id, metadata.dataSource);
383384
if (!newMediaTypeModel) {
384385
return;
385386
}
386387

387388
newMediaTypeModel = Object.assign(oldMediaTypeModel, newMediaTypeModel.getWithOutUserData());
389+
// console.debug(newMediaTypeModel);
388390

389391
// deletion not happening anymore why is this log statement still here
390392
console.debug('MDB | deleting old entry');
391393
if (onlyMetadata) {
392-
await this.createMediaDbNoteFromModel(newMediaTypeModel, {attachFile: activeFile, openNote: true});
394+
await this.createMediaDbNoteFromModel(newMediaTypeModel, {attachFile: activeFile, folder: activeFile.parent, openNote: true});
393395
} else {
394-
await this.createMediaDbNoteFromModel(newMediaTypeModel, {attachTemplate: true, openNote: true});
396+
await this.createMediaDbNoteFromModel(newMediaTypeModel, {attachTemplate: true, folder: activeFile.parent, openNote: true});
395397
}
396398

397399
}

src/modals/MediaDbPreviewModal.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export class MediaDbPreviewModal extends Modal {
7575
onOpen(): void {
7676
this.preview();
7777
}
78-
78+
7979
onClose(): void {
8080
this.closeCallback();
8181
}

src/modals/MediaDbSearchResultModal.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
6262
}
6363

6464
onClose() {
65-
console.log('close');
6665
this.closeCallback();
6766
}
6867
}

src/models/BoardGameModel.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {MediaTypeModel} from './MediaTypeModel';
2-
import {mediaDbTag} from '../utils/Utils';
2+
import {mediaDbTag, migrateObject} from '../utils/Utils';
33
import {MediaType} from '../utils/MediaType';
44

55

@@ -28,7 +28,11 @@ export class BoardGameModel extends MediaTypeModel {
2828
personalRating: undefined,
2929
};
3030

31-
Object.assign(this, obj);
31+
migrateObject(this, obj, this);
32+
33+
if (!obj.hasOwnProperty('userData')) {
34+
migrateObject(this.userData, obj, this.userData);
35+
}
3236

3337
this.type = this.getMediaType();
3438
}

src/models/GameModel.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {MediaTypeModel} from './MediaTypeModel';
2-
import {mediaDbTag} from '../utils/Utils';
2+
import {mediaDbTag, migrateObject} from '../utils/Utils';
33
import {MediaType} from '../utils/MediaType';
44

55

@@ -30,7 +30,11 @@ export class GameModel extends MediaTypeModel {
3030
personalRating: undefined,
3131
};
3232

33-
Object.assign(this, obj);
33+
migrateObject(this, obj, this);
34+
35+
if (!obj.hasOwnProperty('userData')) {
36+
migrateObject(this.userData, obj, this.userData);
37+
}
3438

3539
this.type = this.getMediaType();
3640
}

src/models/MediaTypeModel.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export abstract class MediaTypeModel {
3333
abstract getTags(): string[];
3434

3535
toMetaDataObject(): object {
36-
return {...this.getWithOutUserData(), ...this.userData, tags: '#' + this.getTags().join('/')};
36+
return {...this.getWithOutUserData(), ...this.userData, tags: this.getTags().join('/')};
3737
}
3838

3939
getWithOutUserData(): object {

src/models/MovieModel.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {MediaTypeModel} from './MediaTypeModel';
2-
import {mediaDbTag} from '../utils/Utils';
2+
import {mediaDbTag, migrateObject} from '../utils/Utils';
33
import {MediaType} from '../utils/MediaType';
44

55

@@ -35,7 +35,11 @@ export class MovieModel extends MediaTypeModel {
3535
personalRating: undefined,
3636
};
3737

38-
Object.assign(this, obj);
38+
migrateObject(this, obj, this);
39+
40+
if (!obj.hasOwnProperty('userData')) {
41+
migrateObject(this.userData, obj, this.userData);
42+
}
3943

4044
this.type = this.getMediaType();
4145
}

src/models/MusicReleaseModel.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {MediaTypeModel} from './MediaTypeModel';
2-
import {mediaDbTag} from '../utils/Utils';
2+
import {mediaDbTag, migrateObject} from '../utils/Utils';
33
import {MediaType} from '../utils/MediaType';
44

55

@@ -31,7 +31,11 @@ export class MusicReleaseModel extends MediaTypeModel {
3131
personalRating: undefined,
3232
};
3333

34-
Object.assign(this, obj);
34+
migrateObject(this, obj, this);
35+
36+
if (!obj.hasOwnProperty('userData')) {
37+
migrateObject(this.userData, obj, this.userData);
38+
}
3539

3640
this.type = this.getMediaType();
3741
}

0 commit comments

Comments
 (0)