2022-10-03 13:44:41 +02:00
|
|
|
const { ipcRenderer, dialog } = require('electron');
|
2022-10-07 00:07:54 +02:00
|
|
|
var DecompressZip = require('decompress-zip');
|
2022-11-05 22:38:42 +01:00
|
|
|
const dircompare = require('dir-compare');
|
|
|
|
|
2022-09-20 19:14:04 +02:00
|
|
|
|
|
|
|
ipcRenderer.on("download complete", (event, file) => {
|
|
|
|
console.log(file); // Full file path
|
2022-10-03 13:44:41 +02:00
|
|
|
// Datei entpacken
|
2022-09-20 19:14:04 +02:00
|
|
|
});
|
2022-10-03 13:44:41 +02:00
|
|
|
|
2022-09-20 19:14:04 +02:00
|
|
|
ipcRenderer.on("download progress", (event, progress) => {
|
2022-10-03 13:44:41 +02:00
|
|
|
const cleanProgressInPercentages = Math.floor(progress.percent * 100); // Without decimal point
|
|
|
|
document.getElementById('progressbar').value = cleanProgressInPercentages;
|
2022-09-21 18:25:29 +02:00
|
|
|
});
|
|
|
|
|
2022-10-07 00:07:54 +02:00
|
|
|
let donwloadBtn = document.getElementById('download');
|
|
|
|
donwloadBtn.addEventListener('click', (e) => {
|
2022-10-03 13:44:41 +02:00
|
|
|
let directoryPath = document.getElementById('dirBox');
|
|
|
|
let urlPath = document.getElementById('urlBox');
|
|
|
|
ipcRenderer.send("download", {
|
|
|
|
url: urlPath.value,
|
|
|
|
properties: { directory: directoryPath.value }
|
|
|
|
});
|
2022-10-02 21:35:42 +02:00
|
|
|
});
|
|
|
|
|
2022-10-07 00:07:54 +02:00
|
|
|
let directoryBtn = document.getElementById('dirs');
|
|
|
|
directoryBtn.addEventListener('click', (e) => {
|
|
|
|
window.postMessage({
|
|
|
|
type: 'select-dirs'
|
|
|
|
})
|
2022-10-03 13:44:41 +02:00
|
|
|
});
|
|
|
|
|
2022-10-14 13:01:49 +02:00
|
|
|
ipcRenderer.on("filepath", (event, file) => {
|
|
|
|
document.getElementById('dirBox').innerText = file;
|
|
|
|
});
|
|
|
|
|
2022-10-07 00:07:54 +02:00
|
|
|
let extractBtn = document.getElementById('extract');
|
2022-10-14 13:01:49 +02:00
|
|
|
extractBtn.addEventListener('click', () => {
|
2022-10-07 00:07:54 +02:00
|
|
|
let directoryPath = document.getElementById('dirBox');
|
|
|
|
let urlPath = document.getElementById('urlBox');
|
|
|
|
ipcRenderer.send("extract", {
|
|
|
|
url: urlPath.value,
|
|
|
|
properties: { directory: directoryPath.value }
|
2022-10-03 13:44:41 +02:00
|
|
|
});
|
2022-11-05 22:38:42 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Git Operations
|
|
|
|
|
|
|
|
// Vars for git
|
|
|
|
const options = { compareSize: true, compareContent: true, compareFileAsync: true };
|
|
|
|
const path1 = 'E:\\git\\v1';
|
|
|
|
const path2 = 'E:\\git\\v2';
|
|
|
|
|
|
|
|
let gitBtn = document.getElementById('git');
|
|
|
|
gitBtn.addEventListener('click', (e) => {
|
|
|
|
git();
|
|
|
|
});
|
|
|
|
|
|
|
|
const git = async() => {
|
|
|
|
const res = dircompare.compareSync(path1, path2, options);
|
|
|
|
console.log(res.differencesFiles); // Number check :)
|
|
|
|
print(res);
|
|
|
|
}
|
|
|
|
|
|
|
|
function print(result) {
|
|
|
|
//console.log('Directories are %s', result.same ? 'identical' : 'different')
|
|
|
|
|
|
|
|
//console.log('Statistics - equal entries: %s, distinct entries: %s, left only entries: %s, right only entries: %s, differences: %s', result.equal, result.distinct, result.left, result.right, result.differences)
|
|
|
|
|
|
|
|
let oldFolder, newFolder, other;
|
|
|
|
result.diffSet.forEach(function(dif) {
|
|
|
|
if (dif.state !== "equal") {
|
|
|
|
console.log('Difference - name1: %s, type1: %s, name2: %s, type2: %s, state: %s',
|
|
|
|
dif.name1, dif.type1, dif.name2, dif.type2, dif.state);
|
|
|
|
if (dif.state === "right") {
|
|
|
|
newFolder += dif.name2 + "\n";
|
|
|
|
} else if (dif.state === "left") {
|
|
|
|
oldFolder += dif.name1 + "\n";
|
|
|
|
} else {
|
|
|
|
other += dif.name1 + "\n";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
console.log(newFolder);
|
|
|
|
console.log(oldFolder);
|
|
|
|
console.log(other);
|
|
|
|
}
|