From 1c92b349cd919d69b889db8ffc05c124adf39f3b Mon Sep 17 00:00:00 2001 From: Bryan Ashby Date: Mon, 22 May 2017 21:35:06 -0600 Subject: [PATCH] Clean up oputil help a bit Minor code tidy + notes --- core/file_base_area.js | 1 + core/oputil/oputil_file_base.js | 22 +++++++---- core/oputil/oputil_help.js | 66 ++++++++++++++++----------------- 3 files changed, 48 insertions(+), 41 deletions(-) diff --git a/core/file_base_area.js b/core/file_base_area.js index 6abf5844..79b91ce8 100644 --- a/core/file_base_area.js +++ b/core/file_base_area.js @@ -234,6 +234,7 @@ function attemptSetEstimatedReleaseDate(fileEntry) { // const maxYear = moment().add(2, 'year').year(); const match = getMatch(fileEntry.desc) || getMatch(fileEntry.descLong); + if(match && match[1]) { let year; if(2 === match[1].length) { diff --git a/core/oputil/oputil_file_base.js b/core/oputil/oputil_file_base.js index b18577d0..b67b76e2 100644 --- a/core/oputil/oputil_file_base.js +++ b/core/oputil/oputil_file_base.js @@ -185,18 +185,24 @@ function getSpecificFileEntry(pattern, cb) { const fileEntry = new FileEntry(); fileEntry.load(fileId, () => { - return callback(null, fileEntry); // try sha + return callback(null, fileEntry); // try SHA }); }, function getBySha(fileEntry, callback) { if(fileEntry) { - return callback(null, fileEntry); // already got it by sha + return callback(null, fileEntry); // already got it by SHA } FileEntry.findFileBySha(pattern, (err, fileEntry) => { - return callback(err, fileEntry); + return callback(null, fileEntry); // try by PATH }); - }, + }/*, + function getByPath(fileEntry, callback) { + if(fileEntry) { + return callback(null, fileEntry); // already got by FILE_ID|SHA + } + } + */ ], (err, fileEntry) => { return cb(err, fileEntry); @@ -367,12 +373,11 @@ function moveFiles() { // Each SRC may be PATH|FILE_ID|SHA|AREA_TAG[@STORAGE_TAG] FileEntry = require('../../core/file_entry.js'); - async.eachSeries(src, (areaAndStorage, next) => { - // - // If this entry represents a area tag, it means *all files* in that area - // + async.eachSeries(src, (areaAndStorage, next) => { const areaInfo = fileArea.getFileAreaByTag(areaAndStorage.areaTag); + if(areaInfo) { + // AREA_TAG[@STORAGE_TAG] - all files in area@tag src.areaInfo = areaInfo; const findFilter = { @@ -404,6 +409,7 @@ function moveFiles() { } else { // PATH|FILE_ID|SHA|PARTIAL_SHA + // :TODO: Implement by FILE|PATH support: find first path|file getSpecificFileEntry(areaAndStorage.pattern, (err, fileEntry) => { if(err) { return next(err); diff --git a/core/oputil/oputil_help.js b/core/oputil/oputil_help.js index 4ee6d7ac..ebbc970e 100644 --- a/core/oputil/oputil_help.js +++ b/core/oputil/oputil_help.js @@ -12,60 +12,60 @@ const usageHelp = exports.USAGE_HELP = { [] global args: - -c, --config PATH : specify config path (${getDefaultConfigPath()}) - -n, --no-prompt : assume defaults/don't prompt for input where possible + -c, --config PATH specify config path (${getDefaultConfigPath()}) + -n, --no-prompt assume defaults/don't prompt for input where possible -where is one of: - user : user utilities - config : config file management - fb : file base management +commands: + user user utilities + config config file management + fb file base management `, User : `usage: optutil.js user --user USERNAME valid args: - --user USERNAME : specify username for further actions - --password PASS : set new password - --delete : delete user - --activate : activate user - --deactivate : deactivate user + --user USERNAME specify username for further actions + --password PASS set new password + --delete delete user + --activate activate user + --deactivate deactivate user `, Config : `usage: optutil.js config [] -where is one of: - new : generate a new/initial configuration - import-areas PATH : import areas using fidonet *.NA or AREAS.BBS file from PATH +actions: + new generate a new/initial configuration + import-areas PATH import areas using fidonet *.NA or AREAS.BBS file from PATH -valid import-areas : - --conf CONF_TAG : specify conference tag in which to import areas - --network NETWORK : specify network name/key to associate FTN areas - --uplinks UL1,UL2,... : specify one or more comma separated uplinks - --type TYPE : specifies area import type. valid options are "bbs" and "na" +import-areas args: + --conf CONF_TAG specify conference tag in which to import areas + --network NETWORK specify network name/key to associate FTN areas + --uplinks UL1,UL2,... specify one or more comma separated uplinks + --type TYPE specifies area import type. valid options are "bbs" and "na" `, FileBase : `usage: oputil.js fb [] [] -where is one of: - scan AREA_TAG : scan specified areas - AREA_TAG may be suffixed with @STORAGE_TAG; for example: retro@bbs +actions: + scan AREA_TAG scan specified areas + AREA_TAG may be suffixed with @STORAGE_TAG; for example: retro@bbs - info AREA_TAG|SHA|FILE_ID : display information about areas and/or files - SHA may be a full or partial SHA-256 + info AREA_TAG|SHA|FILE_ID display information about areas and/or files + SHA may be a full or partial SHA-256 - move SRC DST : move entry(s) from SRC to DST where: - SRC may be FILE_ID|SHA|AREA_TAG - DST may be AREA_TAG, optionally suffixed with @STORAGE_TAG; for example: retro@bbs - SHA may be a full or partial SHA-256 - multiple instances of SRC may exist: SRC1 SRC2 ... + move SRC DST move entry(s) from SRC to DST where: + SRC may be FILE_ID|SHA|AREA_TAG + DST may be AREA_TAG, optionally suffixed with @STORAGE_TAG; for example: retro@bbs + SHA may be a full or partial SHA-256 + multiple instances of SRC may exist: SRC1 SRC2 ... -valid scan : - --tags TAG1,TAG2,... : specify tag(s) to assign to discovered entries +scan args: + --tags TAG1,TAG2,... specify tag(s) to assign to discovered entries -valid info : - --show-desc : display short description, if any +info args: + --show-desc display short description, if any ` };