From 5305fde0f45e4920ac3870a8936a929e995dcb29 Mon Sep 17 00:00:00 2001
From: Chris Pomeroy <chris.pomeroy@hotmail.com>
Date: Mon, 19 Apr 2021 04:08:11 +0000
Subject: [PATCH] More changes for python3 and updates to pubprocess

---
 aaxConvert.py |   46 ++++++++++++++++++++++++----------------------
 1 files changed, 24 insertions(+), 22 deletions(-)

diff --git a/aaxConvert.py b/aaxConvert.py
index bed8f47..21164ca 100755
--- a/aaxConvert.py
+++ b/aaxConvert.py
@@ -44,6 +44,7 @@
 
 
 def getmetadata(aaxfile):
+# Returns the metadata from an aax file
     ret = subprocess.run(["ffprobe", "-v", "info", "-hide_banner", "-show_format", "-show_chapters", "-print_format", "json", os.path.abspath(aaxfile)], capture_output=True)
     mdata = json.loads(ret.stdout)
     aret = ret.stderr.decode().split('\n')[0]
@@ -52,13 +53,14 @@
 
 
 def getmetabitrate():
+#Return the bitrate of the media
     bit_rate = metadata['format']['bit_rate']
     return bit_rate[:2]
 
 def getmetacopyright():
+# Return normalized copyright data
     copyright = unicodedata.normalize('NFKD', metadata['format']['tags']['copyright']).encode('ascii','ignore')
-    return copyright
-
+    return copyright.decode()
 
 def getmetadatatags(key):
 # get specific data
@@ -77,17 +79,17 @@
                                                                                            getmetacopyright(),outpath)
     if args.verbose:
         print(command)
-        process = subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE)
-        while True:
-            output = process.stdout.readline()
-            if output == '' and process.poll() is not None:
-                break
-            if output:
-                print(output.strip())
+        process = subprocess.run(command, shell=True, capture_output=True)
+        # while True:
+        #     output = process.stdout.readline()
+        #     if output == '' and process.poll() is not None:
+        #         break
+        #     if output:
+        #         print(output.strip())
         rc = process.poll()
         return rc
     else:
-        process = subprocess.call(shlex.split(command))
+        process = subprocess.run(command, shell=True)
     return 
 
 
@@ -106,23 +108,23 @@
 def movetochapters(path, outpath, chapter, title, start,end):
 # Creating individual chapters
 
-    outfile = "{}/Ch - {} {}.mp3".format(outpath, chapter, title)
+    outfile = "{}/Ch-{}_{}.mp3".format(outpath, chapter, title.replace(' ', '_'))
     command = "ffmpeg -loglevel error {} -i \"{}\" -ss {} -to {} -codec:a copy -metadata 'track={}' \"{}\"".format(stats, path,
                                                                                                                start, end,
                                                                                                                chapter, outfile)
     if args.verbose:
         print(command)
-        process = subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE)
-        while True:
-            output = process.stdout.readline()
-            if output == '' and process.poll() is not None:
-                break
-            if output:
-                print(output.strip())
+        process = subprocess.run(command, shell=True, capture_output=True)
+        # while True:
+        #     output = process.stdout.readline()
+        #     if output == '' and process.poll() is not None:
+        #         break
+        #     if output:
+        #         print(output.strip())
         rc = process.poll()
         return rc
     else:
-        process = subprocess.call(shlex.split(command))
+        process = subprocess.run(command, shell=True)
     return
 
 
@@ -132,7 +134,7 @@
                                                                                                                path, outpath)
     if args.verbose:
         print(command)
-    process = subprocess.call(shlex.split(command))
+    process = process = subprocess.run(command, shell=True)
     return
 
 # def filechecksum(aaxfile):
@@ -165,8 +167,8 @@
             if act_byte == None:
                 sys.exit("Can't continue with this file {rfile}")
             else:
-                ddir = "%s/%s/%s" % (path, artist, title)
-                single_file_path = "/processing/%s.mp3" % (title)
+                ddir = "%s/%s/%s" % (path, artist.replace(' ', '_'), title.replace(' ', '_'))
+                single_file_path = "/processing/%s.mp3" % (title.replace(' ','_'))
                 if not os.path.exists(ddir):
                     os.makedirs(ddir)
                 print(ddir)

--
Gitblit v1.10.0