Example #1
0
def main(input_filename_list=[]):
    # Make input filename list
    if config.input_orders and config.input_items:
        raise Exception("Orders or items. Can't have both. Sorry.")
    if config.input_whole_folder:
        for f in os.listdir(config.clean_folder):
            if f.endswith('.wav'):
                input_filename_list.append(f)
        print 'Input filenames (folder) ({0}):'.format(len(input_filename_list)), input_filename_list

    # Grab spreadsheet from Google Drive
    utils.export_csv('Items')

    # RUN THE TRAP    
    pool_array = [os.path.join(config.clean_folder, each) for each in input_filename_list]
    
    if config.pool_processing:
        pool = multiprocessing.Pool(multiprocessing.cpu_count() - 1)
        pool.map(track_file, pool_array)
    else:
        for item in pool_array:
            track_file(item)

    # Class-ify item input list
    item_list = [Item(each_file) for each_file in os.listdir(config.tracked_folder) if os.path.splitext(each_file)[-1] == '.wav']

    # Print order notes
    utils.print_order_notes(item_list)
Example #2
0
def main():
    logging.basicConfig(level=config.log_level)
    metadata_errors = []
    utils.export_csv('Items') # Grab spreadsheet from Google Drive

    if config.just_add_tags:
        input_list = [each_file for each_file in os.listdir(config.tracked_folder) if \
            os.path.splitext(each_file.lower())[1][1:] in digital_formats]
    elif config.input_whole_folder:
        input_list = [each_file for each_file in os.listdir(config.tracked_folder) if each_file.lower().endswith('.wav')]
    elif config.input_orders:
        input_list = [each_file for each_file in os.listdir(config.tracked_folder) if (each_file.lower().endswith('.wav') and 
            each_file[:5] in orders_input)]
    elif config.input_items:
        input_list = [each_file for each_file in os.listdir(config.tracked_folder) if (each_file.lower().endswith('.wav') and \
            any(each_item_input in each_file for each_item_input in items_input))]

    # Class-ify item input list
    item_list = [Item(each_file, tracks_added=True) for item in input_list]

    # Halt program on metadata errors
    metadata_errors = [error for item in item_list for error in item.metadata_errors]
    if metadata_errors:
        for error in metadata_errors:
            print error
        print '{0} Metadata errors found! See above.'.format(len(metadata_errors))
        sys.exit()

    logging.info('item_list ({0}): {1}'.format(len(item_list), [item.name for item in item_list]))

    item_list = format_list(item_list)

    #if config.cd_pdf_toggle: make_cd_pdf(item_list)
    if config.front_pdf_toggle: make_front_pdf(item_list)
    if config.back_pdf_toggle: make_back_pdf(item_list)
    #if config.burn_cds_toggle: burn_cds(item_list)
    #if config.digital_files_toggle: make_digital_files(item_list)

    # Print order notes
    utils.print_order_notes(item_list)
Example #3
0
def main(input_filename_list=[]):
    # Make input filename list
    if config.input_filename_series and config.input_whole_folder:
        raise Exception("Series or folder. Can't have both. Sorry.")
    if config.input_filename_series:
        for g in os.listdir(config.input_path):
            if g.startswith(input_filename_list_range[0]):
                list_started = True
            if g.endswith('.wav') and list_started is True:
                input_filename_list.append(g)
                # If end of range reached
                if g.startswith(input_filename_list_range[1]):
                    break
        print 'Input filenames (series) ({0}):'.format(len(input_filename_list)), input_filename_list
    elif input_whole_folder:
        for f in os.listdir(input_path):
            if f.endswith('.wav'):
                input_filename_list.append(f)
        print 'Input filenames (folder) ({0}):'.format(len(input_filename_list)), input_filename_list
    else:
        input_filename_list = [input_filename]

    # Grab spreadsheet from Google Drive
    utils.export_csv('Items')

    # RUN THE TRAP    
    pool_array = [os.path.join(input_path, each) for each in input_filename_list]
    
    if pool_processing:
        pool = multiprocessing.Pool(multiprocessing.cpu_count() - 1)
        pool.map(track_file, pool_array)
    else:
        for item in pool_array:
            track_file(item)

    # Class-ify item input list
    item_list = [utils.Item(each_file) for item in input_filename_list]

    # Print order notes
    utils.print_order_notes(item_list)