Ejemplo n.º 1
0
def generate_piece(fields, current_row):
    piece_values = {}
    piece_cmp = []
    title = ws.cell(column=(fields.index('piece')), row=current_row).value
    cmp = ws.cell(column=(fields.index('composer')), row=current_row).value
    fn = cmp.split(', ')[1]
    ln = cmp.split(', ')[0]
    composer_name = "{0} {1}".format(fn, ln)
    try:
        # If Piece exists don't recreate it
        Piece.objects.filter(composer__title__iexact=composer_name).get(title__iexact=title)
    except Piece.DoesNotExist:
        # If Piece doesn't exist, make it
        for field in PIECE_FIELDS:
            cell_value = ws.cell(column=(fields.index(field)), row=current_row).value
            if field == 'composer':
                try:
                    piece_cmp.append(Composer.objects.get(title__iexact=composer_name))
                except Composer.DoesNotExist:
                    continue
            else:
                piece_values[field] = cell_value
        new_piece = Piece(title=title)
        new_piece.composer = piece_cmp[0]
        new_piece.save()
        print("Piece is not in data set - New Piece created: {0}".format(title))
        return
    return
Ejemplo n.º 2
0
williams = Composer(
    title="Ralph Vaughan Williams",
    first_name="Ralph",
    last_name="Vaughan Williams",
    birth_country=" ",
    birth_year=0,
    death_year=1,
)
williams.save()
verdi = Composer(
    title="Giuseppi Verdi", first_name="Giuseppi", last_name="Verdi", birth_country=" ", birth_year=0, death_year=1
)
verdi.save()

sym5 = Piece(
    title="Symphony No. 5", composer=beethoven, publisher=" ", catalog_type=" ", catalog_number=0, piece_year=0
)
sym5.save()
egmont = Piece(
    title="Egmont Overture, Op. 84", composer=beethoven, publisher=" ", catalog_type=" ", catalog_number=0, piece_year=0
)
egmont.save()
fidelio = Piece(title="Fidelio", composer=beethoven, publisher=" ", catalog_type=" ", catalog_number=0, piece_year=0)
fidelio.save()
sym7 = Piece(
    title="Symphony No. 7, op. 92", composer=beethoven, publisher=" ", catalog_type=" ", catalog_number=0, piece_year=0
)
sym7.save()
steppes = Piece(
    title="In the Steppes of Central Asia",
    composer=borodin,