From ab4597dfd74575582f5203d71dd83075cb8d5ef2 Mon Sep 17 00:00:00 2001 From: dunesmopy Date: Sat, 11 Feb 2017 17:35:52 -0800 Subject: [PATCH] Address review feedback * Version number updated to 5.5 in the version variable. * allow a variable number of input parameters, either files or directories of files. * also look for .azw1, .azw3, .azw4, .prc, .mobi, and .pobi files in any specified directories. --- .../DeDRM_App/DeDRM_lib/lib/k4mobidedrm.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/k4mobidedrm.py b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/k4mobidedrm.py index 321c596..eb99c93 100644 --- a/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/k4mobidedrm.py +++ b/DeDRM_Windows_Application/DeDRM_App/DeDRM_lib/lib/k4mobidedrm.py @@ -59,7 +59,7 @@ from __future__ import with_statement # 5.4 - Recognise KFX files masquerading as azw, even if we can't decrypt them yet. # 5.5 - Support multiple input files -__version__ = '5.4' +__version__ = '5.5' import sys, os, re @@ -336,12 +336,16 @@ def cli_main(): # try with built in Kindle Info files if not on Linux k4 = not sys.platform.startswith('linux') - if len(args) == 1: - arg = args[0] - if os.path.isdir(arg): - args = glob.glob(os.path.join(arg, '*.azw')) + filenames = [] + for filename in args: + if os.path.isdir(filename): + for file_extension in ['.azw', '.azw1', '.azw3', '.azw4', '.prc', '.mobi', '.pobi']: + filenames += glob.glob(os.path.join(filename, '*%s' % file_extension)) + else: + # Assume a filename + filenames.append(filename) - for infile in args: + for infile in filenames: result = decryptBook(infile, outdir, kDatabaseFiles, androidFiles, serials, pids) if result != 0: print u'Error with %r' % infile