Skip to content

Commit

Permalink
Adding pre functionality
Browse files Browse the repository at this point in the history
Minor code optimizations, export options
  • Loading branch information
eduardomota committed Jan 28, 2019
1 parent 6179a3d commit 83332ea
Show file tree
Hide file tree
Showing 55 changed files with 1,493 additions and 2,937 deletions.
16 changes: 16 additions & 0 deletions app/js/common/resetobj.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/*
Object resetter helper function
*/


const defaultValue = {}; // default clean object

// Resets object to input parameter object
function resetObj(defaultObject = defaultValue) {
return JSON.parse(JSON.stringify(defaultObject));;
}

module.exports = {
resetObj: resetObj,
resetObject: resetObj // extended function alias
}
55 changes: 0 additions & 55 deletions app/js/main/bulkwhois.defaults.js

This file was deleted.

165 changes: 94 additions & 71 deletions app/js/main/bulkwhois.js

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions app/js/main/bulkwhois/export.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const electron = require('electron'),
path = require('path'),
conversions = require('../../common/conversions.js');

var {
appSettings
} = require('../../appsettings.js');

const {
app,
BrowserWindow,
Menu,
ipcMain,
dialog,
remote
} = electron;

ipcMain.on('bulkwhois:export', function(event, options) {

});
23 changes: 23 additions & 0 deletions app/js/main/bulkwhois/fileinput.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
const electron = require('electron'),
debug = require('debug')('main.bulkwhois.fileinput');

const {
app,
BrowserWindow,
Menu,
ipcMain,
dialog,
remote
} = electron;

// Bulk domain, file input path
ipcMain.on('bulkwhois:input.file', function(event) {
debug("Waiting for file selection");
var filePath = dialog.showOpenDialog({
title: "Select wordlist file",
buttonLabel: "Open",
properties: ['openFile', 'showHiddenFiles']
});
debug("Using selected file at {0}".format(filePath));
event.sender.send('bulkwhois:fileinput.confirmation', filePath);
});
66 changes: 66 additions & 0 deletions app/js/main/bulkwhois/process.defaults.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
var defaultFirstValue = null, // Default that is equivalent or similar to null value: null, undefined, false..
defaultSecondValue = 0, // Default numeric starting value
defaultThirdValue = '-'; // Default value other than null or numeric start


// Default BulkWhois values
module.exports = {
'input': {
'domains': [],
'domainsPending': [],
'tlds': []
},
'stats': {
'domains': {
'processed': defaultSecondValue,
'sent': defaultSecondValue,
'waiting': defaultSecondValue,
'total': defaultSecondValue
},
'time': {
'current': defaultFirstValue,
'remaining': defaultFirstValue,
'counter': defaultFirstValue,
'currentcounter': defaultSecondValue,
'remainingcounter': defaultSecondValue
},
'reqtimes': {
'minimum': defaultFirstValue,
'average': defaultFirstValue,
'maximum': defaultFirstValue,
'last': defaultFirstValue
},
'status': {
'available': defaultSecondValue,
'unavailable': defaultSecondValue,
'error': defaultSecondValue,
'percentavailable': defaultFirstValue,
'percentunavailable': defaultFirstValue,
'percenterror': defaultFirstValue
},
'laststatus': {
'available': defaultFirstValue,
'unavailable': defaultFirstValue,
'error': defaultFirstValue
}
},
'results': {
'id': [],
'domain': [],
'status': [],
'registrar': [],
'company': [],
'updatedate': [],
'creationdate': [],
'expirydate': [],
'whoisreply': [],
'whoisjson': [],
'requesttime': []
},
'processingIDs': [],
'domains': [],
'default': {
'numericstart': defaultFirstValue,
'others': defaultThirdValue
}
}
17 changes: 17 additions & 0 deletions app/js/main/bulkwhois/wordlistinput.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const electron = require('electron'),
debug = require('debug')('main.bulkwhois.wordlistinput');

const {
app,
BrowserWindow,
Menu,
ipcMain,
dialog,
remote
} = electron;

// Bulk domain, wordlist input
ipcMain.on('bulkwhois:input.wordlist', function(event) {
debug("Using wordlist input");
event.sender.send('bulkwhois:wordlistinput.confirmation');
});
6 changes: 6 additions & 0 deletions app/js/renderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,3 +117,9 @@ function loadContents() {
$('#include.navbar').load(path.join(__dirname, '../html/navigation/navbar.html'));
$('#include.navbar.tabs').load(path.join(__dirname, '../html/navigation/navbar.tabs.html'));
}

// Prevent drag over redirect
document.addEventListener('dragover', function(event) {
event.preventDefault();
return false;
}, false);
24 changes: 5 additions & 19 deletions app/js/renderer/bulkwhois.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,5 @@
var whois = require('../common/whoiswrapper.js');
var conversions = require('../common/conversions.js');

require('../common/stringformat.js');

require('./bulkwhois/wordlistinput.js');
require('./bulkwhois/fileinput.js');
require('./bulkwhois/process.js');
require('./bulkwhois/export.js');

const {
ipcRenderer
} = require('electron');

// Prevent drag over redirect
document.addEventListener('dragover', function(event) {
event.preventDefault();
return false;
}, false);
/* Bulk whois handling */
require('./bulkwhois/wordlistinput.js'); // Bulk whois by wordlist input
require('./bulkwhois/fileinput.js'); // Bulk whois by file input
require('./bulkwhois/process.js'); // Bulk whois requests processing
require('./bulkwhois/export.js'); // Export processing
8 changes: 8 additions & 0 deletions app/js/renderer/bulkwhois/export.defaults.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Default export options values
module.exports = {
'filetype': 'csv', // Filetype to export
'domains': 'available', // Export only available domains
'errors': 'no', // Do not export lookup errors
'information': 'domain', // Export only domain name
'whoisreply': 'no' // Do not include whois replies in export
}
23 changes: 22 additions & 1 deletion app/js/renderer/bulkwhois/export.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,35 @@ const {
ipcRenderer
} = require('electron');

var defaultExportOptions = require('./export.defaults.js');

var {
resetObject
} = require('../../common/resetobj.js');

// Export options, confirm export
$('#bweButtonExport').click(function() {
$('#bwExport').addClass('is-hidden');
$('#')
$('#bwExportLoading').removeClass('is-hidden');
options = getExportOptions();
ipcRenderer.send("bulkwhois:export", options);
});

// Export options, cancel export
$('#bweButtonCancel').click(function() {
$('#bwExport').addClass('is-hidden');
$('#bwEntry').removeClass('is-hidden');
});

// Get export options from the form
function getExportOptions() {
var options = resetObject();
options = {
'filetype': $('#bweSelectFiletype').attr('value'),
'domains': $('#bweSelectDomains').attr('value'),
'errors': $('#bweSelectErrors').attr('value'),
'information': $('#bweSelectInformation').attr('value'),
'whoisreply': $('#bweSelectWhoisreply').attr('value')
}
return options;
}
6 changes: 3 additions & 3 deletions app/js/renderer/bulkwhois/fileinput.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ const {
} = require('./auxiliary.js');

// File input, path and information confirmation container
ipcRenderer.on('bulkwhois:fileinput.confirmation', function(event, filePath, isDragDrop = false) {
ipcRenderer.on('bulkwhois:fileinput.confirmation', function(event, filePath = null, isDragDrop = false) {
const {
misc,
lookup
} = appSettings;
var bwFileStats;
var bwFileStats; // File stats, size, last changed, etc

//console.log(filePath);
if (filePath === undefined) {
if (filePath === undefined || filePath == '' || filePath === null) {
//console.log(filePath);
$('#bwFileInputLoading').addClass('is-hidden');
$('#bwEntry').removeClass('is-hidden');
Expand Down
6 changes: 3 additions & 3 deletions app/js/renderer/bulkwhois/wordlistinput.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/** global: appSettings */
const conversions = require('../../common/conversions.js');
const conversions = require('../../common/conversions.js'); // Conversions helper

var bwWordlistContents;
var bwWordlistContents; // Global wordlist input contents

require('../../common/stringformat.js');
require('../../common/stringformat.js'); // String format override

const {
ipcRenderer
Expand Down
Loading

0 comments on commit 83332ea

Please sign in to comment.