| @@ -0,0 +1,80 @@ | |||||
| import eyed3 | |||||
| import os | |||||
| import sys | |||||
| import shutil | |||||
| import yaml | |||||
| from mako.template import Template | |||||
| # TracksDir class definition | |||||
| class Album: | |||||
| def __init__(self, track_files): | |||||
| self.trackFiles = track_files | |||||
| # script usage function | |||||
| def usage(): | |||||
| print('USAGE : labelize.py [inputDirectory] [outputDirectory]') | |||||
| # script beginning | |||||
| arguments = len(sys.argv) - 1 | |||||
| if arguments != 2: | |||||
| usage() | |||||
| sys.exit(2) | |||||
| input_directory = sys.argv[1] | |||||
| output_directory = sys.argv[2] | |||||
| def copy_directory(src, dest): | |||||
| try: | |||||
| shutil.copytree(src, dest) | |||||
| except shutil.Error as e: | |||||
| print('Directory not copied. Error: %s' % e) | |||||
| except OSError as e: | |||||
| print('Directory not copied. Error: %s' % e) | |||||
| # removes existing build directory if exists | |||||
| if os.path.isdir(output_directory): | |||||
| shutil.rmtree(output_directory) | |||||
| # | |||||
| # copies source files in the build directory | |||||
| copy_directory(input_directory, output_directory + '/audio') | |||||
| # copies assets in the build directory | |||||
| copy_directory('assets', output_directory + '/assets') | |||||
| with open('labelize.yaml') as f: | |||||
| data = yaml.load(f, Loader=yaml.FullLoader) | |||||
| title = data['band'] | |||||
| cover_img = data['images']['cover'] | |||||
| contact_img = data['images']['contact'] | |||||
| shutil.copyfile(input_directory + '/' + cover_img, output_directory + '/assets/images/cover.png'); | |||||
| shutil.copyfile(input_directory + '/' + contact_img, output_directory + '/assets/images/contact.png'); | |||||
| track_files = [] | |||||
| for root, dirs, files in os.walk(input_directory): | |||||
| for f in sorted(files): | |||||
| if f.lower().endswith(('.mp3', '.wav', '.ogg')): | |||||
| track_files.append(f) | |||||
| print(f) | |||||
| # td = TracksDir(trackFiles) | |||||
| # f = open(output_directory + "/index.html", "w+") | |||||
| # f.write(td.to_html()) | |||||
| # f.close() | |||||
| my_template = Template(filename='template.html') | |||||
| f = open(output_directory + "/index.html", "w+") | |||||
| # Write template data to the file created | |||||
| f.write(my_template.render( | |||||
| title=title, | |||||
| tracks=track_files, | |||||
| albums_section=data['albums_section'])) | |||||
| # Close file | |||||
| f.close() | |||||