From e85a0f45f99a59f9d29228a83b9f9c07837fe14a Mon Sep 17 00:00:00 2001 From: Niels Simenon Date: Sun, 24 Mar 2019 03:08:51 +0100 Subject: [PATCH] Improved copy & quit options. --- src/app.js | 6 ++++++ src/argv.js | 5 +++++ src/fetch-scene.js | 6 +++--- src/tui/render.js | 7 ------- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/app.js b/src/app.js index 8ebc2947..96055b8a 100644 --- a/src/app.js +++ b/src/app.js @@ -1,6 +1,7 @@ 'use strict'; const blessed = require('neo-blessed'); +const clipboard = require('clipboardy'); const argv = require('./argv'); const { renderReleases, renderScene } = require('./tui/render'); @@ -46,6 +47,11 @@ async function init() { const method = getMethod(); const result = await method.fetch(); + if (argv.copy && result.copy) { + clipboard.writeSync(result.copy); + console.log(`Result copied to clipboard: ${result.copy}`); + } + if (argv.render) { method.render(result, screen); } diff --git a/src/argv.js b/src/argv.js index d55fe1f7..a6ba5366 100644 --- a/src/argv.js +++ b/src/argv.js @@ -21,6 +21,11 @@ const { argv } = yargs .option('debug', { describe: 'Show error stack traces', type: 'boolean', + }) + .option('quit', { + describe: 'Exit after fetching data. Usually used with --copy.', + type: 'boolean', + alias: 'q', }); module.exports = argv; diff --git a/src/fetch-scene.js b/src/fetch-scene.js index 8a58980f..fedc2763 100644 --- a/src/fetch-scene.js +++ b/src/fetch-scene.js @@ -9,8 +9,6 @@ const scrapers = require('./scrapers'); function findSite(url) { const { origin } = new URL(url); - console.log(origin); - return Object.entries(networks) .reduce((foundNetwork, [networkId, network]) => foundNetwork || Object.entries(network.sites) .reduce((foundSite, [siteId, site]) => { @@ -73,10 +71,12 @@ async function fetchScene(url) { } const scene = await scraper.fetchScene(url, site); + const filename = deriveFilename(scene); return { ...scene, - filename: deriveFilename(scene), + filename, + copy: filename, }; } diff --git a/src/tui/render.js b/src/tui/render.js index c3ee82af..d9c062fc 100644 --- a/src/tui/render.js +++ b/src/tui/render.js @@ -4,9 +4,6 @@ const config = require('config'); const blessed = require('neo-blessed'); const moment = require('moment'); const opn = require('opn'); -const clipboard = require('clipboardy'); - -const argv = require('../argv'); const formatters = require('./formatters'); function renderReleases(scenes, screen) { @@ -106,10 +103,6 @@ function renderReleases(scenes, screen) { function renderScene(scene, _screen) { console.log(scene); - - if (argv.copy) { - clipboard.writeSync(scene.filename); - } } module.exports = {