parent
d0e2d41c00
commit
1c92b349cd
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -12,60 +12,60 @@ const usageHelp = exports.USAGE_HELP = {
|
|||
<command> [<args>]
|
||||
|
||||
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 <command> 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 <args>
|
||||
|
||||
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 <action> [<args>]
|
||||
|
||||
where <action> 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 <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"
|
||||
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 <action> [<args>] <AREA_TAG|SHA|FILE_ID[@STORAGE_TAG] ...> [<args>]
|
||||
|
||||
where <action> 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 <args>:
|
||||
--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 <args>:
|
||||
--show-desc : display short description, if any
|
||||
info args:
|
||||
--show-desc display short description, if any
|
||||
`
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue