Esempio n. 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.")
    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
    order.print_order_notes(item_list)
Esempio n. 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:
        print "Just Add Tags selected."
        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:
        print "Input orders:", 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 config.input_orders)
        ]
    elif config.input_items:
        print "Input items:", 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 config.input_items)
            )
        ]

    # Class-ify item input list
    item_list = [Item(each_file, tracks_added=True) for each_file 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)
    order.print_order_notes(item_list, refresh_csv=False)
    if config.digital_files_toggle:
        make_digital_files(item_list)