mirror of
https://github.com/metafy-social/python-scripts.git
synced 2024-11-24 20:41:12 +00:00
52 lines
1.1 KiB
Python
52 lines
1.1 KiB
Python
|
import subprocess
|
||
|
import os
|
||
|
import argparse
|
||
|
|
||
|
|
||
|
parser = argparse.ArgumentParser(
|
||
|
description='A program to convert audio to another audio format'
|
||
|
)
|
||
|
parser.add_argument(
|
||
|
'-p',
|
||
|
'--path',
|
||
|
type=str,
|
||
|
help='''
|
||
|
The full path of file to convert OR
|
||
|
the full path of folder that contains all files to convert'
|
||
|
''',
|
||
|
required=True
|
||
|
)
|
||
|
parser.add_argument(
|
||
|
'-e',
|
||
|
'--extension',
|
||
|
type=str,
|
||
|
help='The type of extension to convert the audio',
|
||
|
default='.mp3',
|
||
|
required=False
|
||
|
)
|
||
|
|
||
|
|
||
|
def convert(file, extension):
|
||
|
file_name, _ = file.split('.')
|
||
|
output_name = file_name + extension
|
||
|
subprocess.run(['ffmpeg', '-i', file, output_name])
|
||
|
|
||
|
|
||
|
def convert_all(path, extension):
|
||
|
for _, _, files in os.walk(path):
|
||
|
for file in files:
|
||
|
convert(file, extension)
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
args = parser.parse_args()
|
||
|
path = args.path
|
||
|
extension = args.extension
|
||
|
|
||
|
os.chdir(os.path.dirname(path))
|
||
|
|
||
|
if (os.path.isdir(path)):
|
||
|
convert_all(path=path, extension=extension)
|
||
|
else:
|
||
|
convert(file=path, extension=extension)
|