From 2dea161cdc2a1009c263e1d82495598ba6318643 Mon Sep 17 00:00:00 2001 From: scito Date: Sat, 31 Dec 2022 12:43:17 +0100 Subject: [PATCH] add argument for initial setting of qr_mode --- .vscode/launch.json | 1 + src/extract_otp_secrets.py | 6 ++++-- upgrade_deps.sh | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index eec54ae..b57d456 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -32,6 +32,7 @@ "request": "launch", "program": "src/extract_otp_secrets.py", "args": [ + "--qr", "CV2" ], "console": "integratedTerminal" }, diff --git a/src/extract_otp_secrets.py b/src/extract_otp_secrets.py index 85acc5b..59a3f1f 100644 --- a/src/extract_otp_secrets.py +++ b/src/extract_otp_secrets.py @@ -113,6 +113,8 @@ Otps = List[Otp] # PYTHON > 3.9: OtpUrls = list[OtpUrl] OtpUrls = List[OtpUrl] +QRMode = Enum('QRMode', ['QREADER', 'DEEP_QREADER', 'CV2'], start=0) + # Constants CAMERA: Final[str] = 'camera' @@ -157,6 +159,7 @@ python extract_otp_secrets.py = < example_export.png""" b) image file containing a QR code or = for stdin for an image containing a QR code""", nargs='*' if qreader_available else '+') if qreader_available: arg_parser.add_argument('--camera', '-C', help='camera number of system (default camera: 0)', default=0, nargs=1, metavar=('NUMBER')) + arg_parser.add_argument('--qr', '-Q', help=f'initial QR reader for camera (default: {QRMode.QREADER.name})', type=str, choices=[mode.name for mode in QRMode], default=QRMode.QREADER.name) arg_parser.add_argument('--json', '-j', help='export json file or - for stdout', metavar=('FILE')) arg_parser.add_argument('--csv', '-c', help='export csv file or - for stdout', metavar=('FILE')) arg_parser.add_argument('--keepass', '-k', help='export totp/hotp csv file(s) for KeePass, - for stdout', metavar=('FILE')) @@ -198,8 +201,7 @@ def extract_otps_from_camera(args: Args) -> Otps: otp_urls: OtpUrls = [] otps: Otps = [] - QRMode = Enum('QRMode', ['QREADER', 'DEEP_QREADER', 'CV2'], start=0) - qr_mode = QRMode.QREADER + qr_mode = QRMode[args.qr] if verbose: print(f"QR reading mode: {qr_mode}") cam = cv2.VideoCapture(args.camera) diff --git a/upgrade_deps.sh b/upgrade_deps.sh index 4821905..572435c 100755 --- a/upgrade_deps.sh +++ b/upgrade_deps.sh @@ -293,7 +293,7 @@ eval "$cmd" # https://github.com/marketplace/actions/pytest-coverage-comment # Coverage-95%25-yellowgreen -echo -e "Upgrade code coverage in README.md" +echo -e "Update code coverage in README.md" TOTAL_COVERAGE=$(cat $COVERAGE_OUT | grep 'TOTAL' | perl -ne 'print "$&" if /\b(\d{1,3})%/') && perl -i -pe "s/coverage-(\d{1,3}%)25-/coverage-${TOTAL_COVERAGE}25-/" README.md if $build_docker; then