From 837f75ca8022d862b389d98a2d4e7acadf28182f Mon Sep 17 00:00:00 2001 From: sharathgeorgem Date: Tue, 17 Dec 2019 09:38:32 +0530 Subject: [PATCH 1/2] Add verbose flag functionality --- api.js | 7 ++++++- cli.js | 30 ++++++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/api.js b/api.js index f8c32fc..9596605 100644 --- a/api.js +++ b/api.js @@ -12,12 +12,17 @@ async function init(browser, page, observer, options) { while (true) { const result = await page.evaluate(() => { const $ = document.querySelector.bind(document); - return { downloadSpeed: Number($('#speed-value').textContent), uploadSpeed: Number($('#upload-value').textContent), downloadUnit: $('#speed-units').textContent.trim(), uploadUnit: $('#upload-units').textContent.trim(), + latencyValue: Number($('#latency-value').textContent), + bufferBloatValue: Number($('#bufferbloat-value').textContent), + userLocationValue: $('#user-location').textContent.trim(), + userIPValue: $('#user-ip').textContent.trim(), + userISPValue: $('#user-isp').textContent.trim(), + serverLocations: $('#server-locations').textContent.trim(), isDone: Boolean( $('#speed-value.succeeded') && $('#upload-value.succeeded') ) diff --git a/cli.js b/cli.js index 5b42135..4ce40ab 100755 --- a/cli.js +++ b/cli.js @@ -47,16 +47,38 @@ const uploadSpeed = () => `${data.uploadSpeed} ${chalk.dim(data.uploadUnit)} ↑` : chalk.dim('- Mbps ↑'); -const uploadColor = string => (data.isDone ? chalk.green(string) : chalk.cyan(string)); +const latency = () => + data.latencyValue ? + `\n\nLatency - { Unloaded - ${data.latencyValue} ${chalk.dim('ms')} Loaded - ${data.bufferBloatValue} ${chalk.dim('ms')} }` : + `\n\n` + chalk.dim(`Latency - { Unloaded - 0 ms Loaded - 0 ms }`) + +const client = () => + data.userLocationValue ? + `\n\n Client - ${data.userLocationValue} ${data.userIPValue} ${data.userISPValue}` : + `\n\n` + chalk.dim(`Client`) + +const server = () => + data.serverLocations ? + `\n\n Server(s) - ${data.serverLocations}` : + `\n\n` + chalk.dim(`Server(s)`) + +const uploadColor = string => ((data.isDone || data.uploadSpeed) ? chalk.green(string) : chalk.cyan(string)); const downloadColor = string => ((data.isDone || data.uploadSpeed) ? chalk.green(string) : chalk.cyan(string)); -const speedText = () => +const latencyColor = string => ((data.isDone || data.latencyValue) ? chalk.green(string) : chalk.magenta(string)); + +const speedTextUpload = () => cli.flags.upload ? `${downloadColor(downloadSpeed())} ${chalk.dim('/')} ${uploadColor(uploadSpeed())}` : downloadColor(downloadSpeed()); -const speed = () => speedText() + '\n\n'; +const speedTextVerbose = () => + cli.flags.verbose ? + ` ${chalk.dim('/')} ${uploadColor(uploadSpeed())} ${latencyColor(latency())} ${uploadColor(client())} ${downloadColor(server())}` : + `` + +const speed = () => speedTextUpload() + speedTextVerbose() + '\n\n'; function exit() { if (process.stdout.isTTY) { @@ -98,4 +120,4 @@ if (process.stdout.isTTY) { console.error(error.message); process.exit(1); } -})(); +})(); \ No newline at end of file From cae62afd88b691419a0bfa0d07faa21098766123 Mon Sep 17 00:00:00 2001 From: sharathgeorgem Date: Sun, 22 Dec 2019 22:48:36 +0530 Subject: [PATCH 2/2] cleanup --- cli.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cli.js b/cli.js index 4ce40ab..eae7668 100755 --- a/cli.js +++ b/cli.js @@ -50,17 +50,17 @@ const uploadSpeed = () => const latency = () => data.latencyValue ? `\n\nLatency - { Unloaded - ${data.latencyValue} ${chalk.dim('ms')} Loaded - ${data.bufferBloatValue} ${chalk.dim('ms')} }` : - `\n\n` + chalk.dim(`Latency - { Unloaded - 0 ms Loaded - 0 ms }`) + '\n\n' + chalk.dim('Latency - { Unloaded - 0 ms Loaded - 0 ms }'); const client = () => data.userLocationValue ? `\n\n Client - ${data.userLocationValue} ${data.userIPValue} ${data.userISPValue}` : - `\n\n` + chalk.dim(`Client`) + '\n\n' + chalk.dim('Client'); const server = () => data.serverLocations ? `\n\n Server(s) - ${data.serverLocations}` : - `\n\n` + chalk.dim(`Server(s)`) + '\n\n' + chalk.dim('Server(s)'); const uploadColor = string => ((data.isDone || data.uploadSpeed) ? chalk.green(string) : chalk.cyan(string)); @@ -76,7 +76,7 @@ const speedTextUpload = () => const speedTextVerbose = () => cli.flags.verbose ? ` ${chalk.dim('/')} ${uploadColor(uploadSpeed())} ${latencyColor(latency())} ${uploadColor(client())} ${downloadColor(server())}` : - `` + ''; const speed = () => speedTextUpload() + speedTextVerbose() + '\n\n'; @@ -120,4 +120,4 @@ if (process.stdout.isTTY) { console.error(error.message); process.exit(1); } -})(); \ No newline at end of file +})();