mirror of
https://github.com/arx-research/libhalo.git
synced 2026-01-10 13:48:08 -05:00
CLI: Implement --reader switch to specify a particular PC/SC reader. (#322)
This commit is contained in:
committed by
GitHub
parent
0e34a7f043
commit
94d627c1dd
@@ -39,6 +39,9 @@ parser.add_argument("--non-interactive", {
|
||||
action: "store_true",
|
||||
"default": false
|
||||
});
|
||||
parser.add_argument("--reader", {
|
||||
help: "Name of the PC/SC reader to be used."
|
||||
});
|
||||
|
||||
function parseArgs() {
|
||||
return parser.parse_args();
|
||||
|
||||
@@ -12,6 +12,7 @@ const parser = new ArgumentParser({
|
||||
description: 'HaLo - Command Line Tool for PC/SC'
|
||||
});
|
||||
parser.add_argument("-o", "--output", {help: "Output format, either: color (default, better for humans), json (better for scripts).", "default": "color"});
|
||||
parser.add_argument("--reader", {help: "Name of the PC/SC reader to be used."});
|
||||
|
||||
const subparsers = parser.add_subparsers({help: 'command', dest: 'name'});
|
||||
|
||||
|
||||
16
cli/cli.js
16
cli/cli.js
@@ -38,6 +38,15 @@ async function checkCard(reader) {
|
||||
|
||||
function runHalo(entryMode, args) {
|
||||
nfc.on('reader', reader => {
|
||||
reader.autoProcessing = false;
|
||||
|
||||
reader.on('error', err => {
|
||||
console.log(`${reader.reader.name} an error occurred`, err);
|
||||
});
|
||||
|
||||
if (args.reader && args.reader !== reader.reader.name) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.name === "pcsc_detect") {
|
||||
console.log('Detected PC/SC reader:', reader.reader.name);
|
||||
@@ -45,8 +54,6 @@ function runHalo(entryMode, args) {
|
||||
wsEventReaderConnected(reader);
|
||||
}
|
||||
|
||||
reader.autoProcessing = false;
|
||||
|
||||
reader.on('card', card => {
|
||||
if (entryMode === "server") {
|
||||
(async () => {
|
||||
@@ -121,11 +128,6 @@ function runHalo(entryMode, args) {
|
||||
wsEventReaderDisconnected(reader);
|
||||
}
|
||||
});
|
||||
|
||||
reader.on('error', err => {
|
||||
console.log(`${reader.reader.name} an error occurred`, err);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
nfc.on('error', err => {
|
||||
|
||||
Reference in New Issue
Block a user