Skip to content

Commit

Permalink
Add year to release color (#3088)
Browse files Browse the repository at this point in the history
* Add release year

* Add year field to release_color table

* Add missing LEFT -- thanks for the catch!
  • Loading branch information
mayhem authored Dec 30, 2024
1 parent 1126f82 commit 6f1615a
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 8 deletions.
1 change: 1 addition & 0 deletions admin/sql/create_indexes.sql
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ CREATE UNIQUE INDEX user_id_event_type_event_id_ndx_hide_user_timeline_event ON
CREATE INDEX user_id_ndx_pinned_recording ON pinned_recording (user_id);

CREATE UNIQUE INDEX release_mbid_ndx_release_color ON release_color (release_mbid);
CREATE INDEX year_ndx_release_color ON release_color (year);
CREATE UNIQUE INDEX caa_id_release_mbid_ndx_release_color ON release_color (caa_id, release_mbid);

CREATE UNIQUE INDEX user_id_ndx_user_setting ON user_setting (user_id);
Expand Down
3 changes: 2 additions & 1 deletion admin/sql/create_tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,8 @@ CREATE TABLE release_color (
green SMALLINT NOT NULL,
blue SMALLINT NOT NULL,
color CUBE,
last_updated TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
last_updated TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
year INTEGER DEFAULT NULL
);

CREATE TABLE user_relationship (
Expand Down
20 changes: 13 additions & 7 deletions mbid_mapping/mapping/release_colors.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,17 @@ def process_image(filename, mime_type):
raise RuntimeError


def insert_row(release_mbid, red, green, blue, caa_id):
def insert_row(release_mbid, red, green, blue, caa_id, year):
""" Insert a row into release_color mapping """

with psycopg2.connect(config.SQLALCHEMY_DATABASE_URI) as conn:
with conn.cursor(cursor_factory=psycopg2.extras.DictCursor) as curs:
sql = """INSERT INTO release_color (release_mbid, red, green, blue, color, caa_id)
VALUES (%s, %s, %s, %s, %s::cube, %s)
sql = """INSERT INTO release_color (release_mbid, red, green, blue, color, caa_id, year)
VALUES (%s, %s, %s, %s, %s::cube, %s, %s)
ON CONFLICT DO NOTHING"""

args = (release_mbid, red, green, blue,
Cube(red, green, blue), caa_id)
Cube(red, green, blue), caa_id, year)
try:
curs.execute(sql, args)
conn.commit()
Expand Down Expand Up @@ -85,7 +85,7 @@ def process_row(row):

try:
red, green, blue = process_image(filename, row["mime_type"])
insert_row(row["release_mbid"], red, green, blue, row["caa_id"])
insert_row(row["release_mbid"], red, green, blue, row["caa_id"], row["year"])
log("%s %s: (%s, %s, %s)" %
(row["caa_id"], row["release_mbid"], red, green, blue))
except Exception as err:
Expand Down Expand Up @@ -210,11 +210,14 @@ def sync_release_color_table():
, release AS release_id
, release.gid AS release_mbid
, mime_type
, year
FROM cover_art_archive.cover_art caa
JOIN cover_art_archive.cover_art_type cat
ON cat.id = caa.id
JOIN musicbrainz.release
JOIN musicbrainz.release r
ON caa.release = release.id
JOIN release_first_release_date rfrd
ON rfrd.release = r.id
WHERE type_id = 1
AND caa.id > %s
ORDER BY caa.id
Expand Down Expand Up @@ -259,11 +262,14 @@ def incremental_update_release_color_table():
, release.gid AS release_mbid
, mime_type
, date_uploaded
, year
FROM cover_art_archive.cover_art caa
JOIN cover_art_archive.cover_art_type cat
ON cat.id = caa.id
JOIN musicbrainz.release
JOIN musicbrainz.release r
ON caa.release = release.id
LEFT JOIN release_first_release_date rfrd
ON rfrd.release = r.id
WHERE type_id = 1
AND caa.date_uploaded > %s
ORDER BY caa.date_uploaded
Expand Down

0 comments on commit 6f1615a

Please sign in to comment.