Исправления из-за нарушения авторских прав

This commit is contained in:
Book Pauk
2024-10-03 11:51:09 +07:00
parent 2b01d6d8d7
commit 3e75310e1f
9 changed files with 63 additions and 7 deletions

View File

@@ -416,7 +416,7 @@ class Reader {
await wallpaperStorage.init();
await coversStorage.init();
await bookManager.init(this.settings);
await bookManager.init(this.settings, this.restricted);
bookManager.addEventListener(this.bookManagerEvent);
if (this.$root.getRootRoute() == '/reader') {
@@ -770,6 +770,10 @@ class Reader {
return this.$store.state.config.bucEnabled && this.bucEnabled;
}
get restricted() {
return this.$store.state.config.restricted;
}
get routeParamUrl() {
let result = '';
const path = this.$route.fullPath;

View File

@@ -0,0 +1,8 @@
export default {
restrictedData: `<?xml version="1.0" encoding="utf-8"?>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
<description><title-info><book-title>Нарушение авторских прав</book-title></title-info></description>
<body><section><p>Книга не загружена по причине нарушения авторских прав.</p></section></body>
</FictionBook>`,
};

View File

@@ -3,6 +3,7 @@ import path from 'path-browserify';
import _ from 'lodash';
import BookParser from './BookParser';
import bmHelper from './bmHelper';
import readerApi from '../../../api/reader';
import coversStorage from './coversStorage';
import * as utils from '../../../share/utils';
@@ -26,9 +27,10 @@ const bmRecentStoreNew = localForage.createInstance({
});
class BookManager {
async init(settings) {
async init(settings, restricted) {
this.loaded = false;
this.settings = settings;
this.restricted = restricted;
this.eventListeners = [];
this.books = {};
@@ -232,6 +234,18 @@ class BookManager {
return inflator.result;
}
isUrlAllowed(url) {
const restrictedSites = this.restricted?.sites;
if (restrictedSites) {
for (const site of restrictedSites) {
if (url.indexOf(site) === 0)
return false;
}
}
return true;
}
async addBook(newBook, callback) {
let meta = {url: newBook.url, path: newBook.path};
@@ -348,6 +362,10 @@ class BookManager {
}
async parseBook(meta, data, callback) {
if (!this.isUrlAllowed(meta.url)) {
data = bmHelper.restrictedData;
}
const parsed = new BookParser(this.settings);
const parsedMeta = await parsed.parse(data, callback);

View File

@@ -1,4 +1,17 @@
export const versionHistory = [
{
version: '1.2.5',
releaseDate: '2024-10-03',
showUntil: '2024-10-02',
content:
`
<ul>
<li>исправления из-за нарушения авторских прав</li>
</ul>
`
},
{
version: '1.2.4',
releaseDate: '2024-08-27',