mirror of
https://github.com/WebTools-NG/WebTools-NG
synced 2025-02-16 19:38:26 +00:00
Fixed #374
This commit is contained in:
parent
07096ceef6
commit
08b424f0af
4 changed files with 81 additions and 40 deletions
|
@ -220,10 +220,10 @@
|
|||
"ExportToExcel": "Export to xlsx as well as csv",
|
||||
"NotAvailIndicator": "What to use if a field can't be found",
|
||||
"QualifierCSV": "Qualifier to use with a text based field for CSV (Use space for none)",
|
||||
"Posters_Dimensions": "Poster height * width",
|
||||
"Posters_Dimensions_TT": "Poster height*width, If 'Export Posters' is a field in the export. Can be seperated by a comma, for multiple exports, like `75*75, 1024*768`. Note: dimensions might be altered slightly in order to preserve the aspect ratio of the poster",
|
||||
"Art_Dimensions": "Art height * width",
|
||||
"Art_Dimensions_TT": "Art height*width, If 'Export Art' is a field in the export. Can be seperated by a comma, for multiple exports, like `75*75, 1024*768`. Note: dimensions might be altered slightly in order to preserve the aspect ratio of the art"
|
||||
"Posters_Dimensions": "Poster width * height",
|
||||
"Posters_Dimensions_TT": "Poster width*height, If 'Export Posters' is a field in the export. Can be seperated by a comma, for multiple exports, like `75*75, 1024*768`. Note: dimensions might be altered slightly in order to preserve the aspect ratio of the poster",
|
||||
"Art_Dimensions": "Art width * height",
|
||||
"Art_Dimensions_TT": "Art width*height, If 'Export Art' is a field in the export. Can be seperated by a comma, for multiple exports, like `75*75, 1024*768`. Note: dimensions might be altered slightly in order to preserve the aspect ratio of the art"
|
||||
},
|
||||
"Status": {
|
||||
"Names":{
|
||||
|
|
|
@ -104,3 +104,34 @@ if (isDevelopment) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
const ipcMain = require('electron').ipcMain;
|
||||
const axios = require('axios')
|
||||
const fs = require('fs')
|
||||
|
||||
ipcMain.on('downloadFile', function (event, data) {
|
||||
const filePath = data.filePath;
|
||||
const item = data.item;
|
||||
const https = require('https');
|
||||
const agent = new https.Agent({
|
||||
rejectUnauthorized: false
|
||||
});
|
||||
axios({
|
||||
method: 'GET',
|
||||
url: item,
|
||||
responseType: 'stream',
|
||||
httpsAgent: agent
|
||||
}).then((response) => {
|
||||
response.data.pipe(fs.createWriteStream(filePath))
|
||||
response.data.on('end', () => {
|
||||
event.sender.send('downloadEnd');
|
||||
})
|
||||
response.data.on('error', (error) => {
|
||||
log.error(`Failed to download ${item.split('&X-Plex-Token=')[0]}`);
|
||||
event.sender.send('downloadError', error);
|
||||
})
|
||||
}).catch((error) => {
|
||||
log.error(`Failed to download ${item.split('&X-Plex-Token=')[0]}`);
|
||||
event.sender.send('downloadError', error);
|
||||
})
|
||||
})
|
||||
|
|
|
@ -9,6 +9,9 @@ const defpostURI = '?checkFiles=1&includeRelated=0&includeExtras=1&includeBandwi
|
|||
import {wtconfig, wtutils} from '../../General/wtutils';
|
||||
import i18n from '../../../../i18n';
|
||||
|
||||
import {ipcRenderer} from 'electron';
|
||||
//const fs = require('fs');
|
||||
|
||||
import filesize from 'filesize';
|
||||
var path = require("path");
|
||||
|
||||
|
@ -365,14 +368,15 @@ const et = new class ET {
|
|||
{
|
||||
libType = et.expSettings.libTypeSec;
|
||||
}
|
||||
levelName = defLevels[libType]['levels'][level]
|
||||
levelName = defLevels[libType]['levels'][level];
|
||||
if (levelName == undefined)
|
||||
{
|
||||
// We are dealing with a custom level here
|
||||
levelName = level
|
||||
levelName = et.expSettings.exportLevel;
|
||||
}
|
||||
}
|
||||
return levelName
|
||||
et.expSettings.levelName = levelName;
|
||||
return levelName;
|
||||
}
|
||||
|
||||
async getSections(address, accessToken)
|
||||
|
@ -469,12 +473,10 @@ const et = new class ET {
|
|||
|
||||
getLevelFields(level, libType) {
|
||||
// return fields in a level
|
||||
const out = []
|
||||
|
||||
const out = [];
|
||||
if (libType == et.ETmediaType.Playlist)
|
||||
{
|
||||
libType = et.expSettings.libTypeSec;
|
||||
//libType = store.getters.getSelectedLibTypeSec;
|
||||
}
|
||||
|
||||
let realName = et.getRealLevelName(level, libType);
|
||||
|
@ -535,12 +537,12 @@ const et = new class ET {
|
|||
if (levels == undefined)
|
||||
{
|
||||
// We are dealing with a custom level
|
||||
levels = wtconfig.get(`ET.CustomLevels.${libType}.level.${realName}`);
|
||||
levels = wtconfig.get(`ET.CustomLevels.${this.expSettings.libTypeSec}.level.${realName}`);
|
||||
}
|
||||
Object.keys(levels).forEach(function(key) {
|
||||
out.push(levels[key])
|
||||
});
|
||||
return out
|
||||
return out;
|
||||
}
|
||||
|
||||
async getLevelCall (libType, level) {
|
||||
|
@ -1170,14 +1172,26 @@ const excel2 = new class Excel {
|
|||
}
|
||||
|
||||
async forceDownload(url, target) {
|
||||
const fs = require('fs');
|
||||
//var out = fs.createWriteStream(target);
|
||||
var request = require('request');
|
||||
await new Promise(resolve =>
|
||||
request(url)
|
||||
.pipe(fs.createWriteStream(target))
|
||||
.on('finish', resolve));
|
||||
}
|
||||
const _this = this;
|
||||
return new Promise((resolve, reject) => {
|
||||
_this.isDownloading = true;
|
||||
ipcRenderer.send('downloadFile', {
|
||||
item: url,
|
||||
filePath: target
|
||||
})
|
||||
ipcRenderer.on('downloadEnd', () => {
|
||||
ipcRenderer.removeAllListeners('downloadEnd');
|
||||
ipcRenderer.removeAllListeners('downloadError');
|
||||
resolve(target);
|
||||
})
|
||||
|
||||
ipcRenderer.on('downloadError', (event, error) => {
|
||||
ipcRenderer.removeAllListeners('downloadEnd');
|
||||
ipcRenderer.removeAllListeners('downloadError');
|
||||
reject(error);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async exportPics( { type: extype, data, baseURL, accessToken} ) {
|
||||
let ExpDir, picUrl, resolutions;
|
||||
|
@ -1214,8 +1228,8 @@ const excel2 = new class Excel {
|
|||
fileName
|
||||
);
|
||||
// Build up pic url
|
||||
const width = res.split('*')[0].trim();
|
||||
const hight = res.split('*')[1].trim();
|
||||
const width = res.split('*')[1].trim();
|
||||
const hight = res.split('*')[0].trim();
|
||||
let URL = baseURL + '/photo/:/transcode?width=';
|
||||
URL += width + '&height=' + hight;
|
||||
URL += '&minSize=1&url=';
|
||||
|
@ -1469,10 +1483,8 @@ const excel2 = new class Excel {
|
|||
{
|
||||
jPath = "$.MediaContainer.Metadata[*]";
|
||||
}
|
||||
|
||||
const bExportPosters = wtconfig.get(`ET.CustomLevels.${libType}.Posters.${level}`, false);
|
||||
const bExportArt = wtconfig.get(`ET.CustomLevels.${libType}.Art.${level}`, false);
|
||||
|
||||
const bExportPosters = wtconfig.get(`ET.CustomLevels.${et.expSettings.libTypeSec}.Posters.${et.expSettings.levelName}`, false);
|
||||
const bExportArt = wtconfig.get(`ET.CustomLevels.${et.expSettings.libTypeSec}.Art.${et.expSettings.levelName}`, false);
|
||||
for (x=0; x<sectionData.length; x++)
|
||||
{
|
||||
et.updateStatusMsg(et.rawMsgType.Chuncks, i18n.t('Modules.ET.Status.Processing-Chunk', {current: x, total: sectionData.length -1}));
|
||||
|
|
26
src/main.js
26
src/main.js
|
@ -33,8 +33,8 @@ log.transports.console.level = wtconfig.get('Log.consoleLevel', 'silly');
|
|||
log.transports.file.maxSize = wtconfig.get('Log.maxSize', 1048576);
|
||||
log.info('*********************************')
|
||||
log.info(`Starting ${wtutils.AppName} Version: ${wtutils.AppVersion}`);
|
||||
log.info(`Running on ${wtutils.RunningOS}`)
|
||||
log.info(`Log level set to ${log.transports.file.level}`)
|
||||
log.info(`Running on ${wtutils.RunningOS}`);
|
||||
log.info(`Log level set to ${log.transports.file.level}`);
|
||||
// Logging ended
|
||||
|
||||
// Log Commandline Params
|
||||
|
@ -53,18 +53,14 @@ params.forEach(param => {
|
|||
// Handles dev stuff from Json
|
||||
const token = wtconfig.get('Developer.X-Plex-Token', '');
|
||||
if ( token != ''){
|
||||
log.verbose(`Logging in with Dev Token`)
|
||||
log.verbose(`Logging in with Dev Token`);
|
||||
store.commit("UPDATE_AUTHTOKEN", token);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Prepopulate config file with defaults
|
||||
if (wtconfig.get("general.version", "") != wtutils.AppVersion){
|
||||
// Config file out of date, so prepopulate with default values if missing
|
||||
wtutils.UpdateConfigFile()
|
||||
wtutils.UpdateConfigFile();
|
||||
}
|
||||
|
||||
// Log prefs settings
|
||||
|
@ -76,18 +72,20 @@ log.verbose(prefs);
|
|||
log.verbose('***** Prefs Ended *****');
|
||||
|
||||
// Get saved language to use, and default to en
|
||||
i18n.locale = wtconfig.get('General.language', 'en')
|
||||
i18n.locale = wtconfig.get('General.language', 'en');
|
||||
|
||||
// App Menu Bar
|
||||
log.verbose('Starting to build App Menu')
|
||||
const menuTemplate = require('./components/layout/script/menubar')
|
||||
const menu = require('electron').remote.Menu.buildFromTemplate(menuTemplate.default)
|
||||
require('electron').remote.Menu.setApplicationMenu(menu)
|
||||
log.verbose('App Menu builded')
|
||||
log.verbose('Starting to build App Menu');
|
||||
const menuTemplate = require('./components/layout/script/menubar');
|
||||
const menu = require('electron').remote.Menu.buildFromTemplate(menuTemplate.default);
|
||||
require('electron').remote.Menu.setApplicationMenu(menu);
|
||||
log.verbose('App Menu builded');
|
||||
|
||||
Vue.config.productionTip = false;
|
||||
|
||||
|
||||
|
||||
|
||||
new Vue({
|
||||
render: h => h(App),
|
||||
router: router,
|
||||
|
|
Loading…
Add table
Reference in a new issue