| | |
| | | import subprocess |
| | | import shlex |
| | | import json |
| | | import getaaxkey.getaaxkey |
| | | |
| | | act_byte = "" |
| | | metadata = "" |
| | | mode = "chapter" |
| | | stats = "" |
| | | path = "" |
| | | args = "" |
| | | |
| | | # arguments |
| | | # activation_key, file name, codec(default to mp3) |
| | | def processargs(): |
| | | parser = argparse.ArgumentParser() |
| | | parser.add_argument("--code", help="Activation Code from audible to decrypt files") |
| | | parser.add_argument("-s","--single", help="Use this option to create a single file. This is false by default", action="store_true") |
| | | parser.add_argument("-d","--dpath", help="Use this to set the destination path. Otherwise I will use the current directory") |
| | | parser.add_argument("-v", "--verbose", help="Send output to stdout", action="store_true") |
| | |
| | | else: |
| | | path = os.getcwd() |
| | | |
| | | if args.code: |
| | | act_byte = args.code |
| | | elif os.path.isfile('./.authcode'): |
| | | act_byte = open('./.authcode').readline() |
| | | |
| | | if act_byte == "": |
| | | print "Please provide an activation code from audible. Either at the command line or the .authcode file" |
| | | |
| | | if args.single: |
| | | mode = 'single' |
| | | else: |
| | |
| | | |
| | | |
| | | def getmetadata(aaxfile): |
| | | ret = subprocess.check_output(["ffprobe", "-v", "quiet", "-hide_banner", "-show_format", "-show_chapters", "-print_format", "json", os.path.abspath(aaxfile)]) |
| | | ret = subprocess.check_output(["ffprobe", "-v", "info", "-hide_banner", "-show_format", "-show_chapters", "-print_format", "json", os.path.abspath(aaxfile)]) |
| | | mdata = json.loads(ret) |
| | | return mdata |
| | | |
| | |
| | | process = subprocess.call(shlex.split(command)) |
| | | return |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | processargs() |
| | | for rfile in glob.glob(args.filename): |
| | | if rfile.find("aax") != -1 and os.path.isfile(rfile): |
| | | act_byte = getaaxkey(rfile) |
| | | metadata = getmetadata(rfile) |
| | | album = getmetadatatags('album') |
| | | artist = getmetadatatags('artist') |