Skip to content

Commit

Permalink
Ignore submissions without metadata (#137)
Browse files Browse the repository at this point in the history
* Ignore submissions with no metadata

* Ignore submissions without any public metadata

* Reformat code

* Update acoustid/data/submission.py

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Fix tests

* More test fixes

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
  • Loading branch information
lalinsky and coderabbitai[bot] authored Jan 11, 2025
1 parent ea8655e commit bcc75a9
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 9 deletions.
6 changes: 6 additions & 0 deletions acoustid/api/v2/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -990,6 +990,12 @@ def _handle_internal(self, params):
values["meta"] = meta_values
if p["foreignid"]:
values["foreignid"] = p["foreignid"]
if (
values.get("mbid") is None
and values.get("puid") is None
and values.get("meta") is None
):
continue
id = insert_submission(ingest_db, values)
ids.add(id)
submission = {"id": id, "status": "pending"}
Expand Down
26 changes: 17 additions & 9 deletions acoustid/data/submission.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,20 @@ def import_submission(ingest_db, app_db, fingerprint_db, index_pool, submission)
"Importing submission %d with MBIDs %s", submission["id"], submission["mbid"]
)

has_mbid = (
submission["mbid"]
and submission["mbid"] != "00000000-0000-0000-0000-000000000000"
)
has_puid = (
submission["puid"]
and submission["puid"] != "00000000-0000-0000-0000-000000000000"
)
has_meta = submission["meta_id"] or submission["meta"]

if not has_mbid and not has_puid and not has_meta:
logger.info("Skipping, missing metadata")
return None

num_unique_items = len(set(submission["fingerprint"]))
if num_unique_items < const.FINGERPRINT_MIN_UNIQUE_ITEMS:
logger.info("Skipping, has only %d unique items", num_unique_items)
Expand Down Expand Up @@ -184,10 +198,7 @@ def import_submission(ingest_db, app_db, fingerprint_db, index_pool, submission)

submission_result["fingerprint_id"] = fingerprint["id"]

if (
submission["mbid"]
and submission["mbid"] != "00000000-0000-0000-0000-000000000000"
):
if has_mbid:
insert_mbid(
fingerprint_db,
ingest_db,
Expand All @@ -198,10 +209,7 @@ def import_submission(ingest_db, app_db, fingerprint_db, index_pool, submission)
)
submission_result["mbid"] = submission["mbid"]

if (
submission["puid"]
and submission["puid"] != "00000000-0000-0000-0000-000000000000"
):
if has_puid:
insert_puid(
fingerprint_db,
ingest_db,
Expand All @@ -212,7 +220,7 @@ def import_submission(ingest_db, app_db, fingerprint_db, index_pool, submission)
)
submission_result["puid"] = submission["puid"]

if submission["meta_id"] or submission["meta"]:
if has_meta:
meta_id = submission["meta_id"] # type: Optional[int]
meta_gid = None # type: Optional[uuid.UUID]
if meta_id is None:
Expand Down
1 change: 1 addition & 0 deletions tests/test_api_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -704,6 +704,7 @@ def test_submit_handler_foreignid(ctx):
"fingerprint": TEST_1_FP,
"bitrate": 192,
"foreignid": "foo:123",
"track": "Voodoo People",
"fileformat": "FLAC",
}
builder = EnvironBuilder(method="POST", data=values)
Expand Down
5 changes: 5 additions & 0 deletions tests/test_data_submission.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ def test_import_submission_with_foreignid(ctx):
"source_id": 1,
"format_id": 1,
"foreignid_id": 1,
"meta": {"track": "foo"},
},
)
query = tables.submission.select(tables.submission.c.id == submission_id)
Expand All @@ -144,6 +145,7 @@ def test_import_submission_with_foreignid(ctx):
"source_id": 1,
"format_id": 1,
"foreignid": "foo:123",
"meta": {"track": "foo"},
},
)
query = tables.submission.select(tables.submission.c.id == submission_id)
Expand Down Expand Up @@ -227,6 +229,7 @@ def test_import_submission(ctx):
"bitrate": 192,
"source_id": 1,
"format_id": 1,
"meta": {"track": "foo"},
},
)
query = tables.submission.select(tables.submission.c.id == submission_id)
Expand Down Expand Up @@ -587,6 +590,7 @@ def test_import_queued_submissions(ctx):
"bitrate": 192,
"source_id": 1,
"format_id": 1,
"meta": {"track": "Foo 2"},
},
)
insert_submission(
Expand All @@ -597,6 +601,7 @@ def test_import_queued_submissions(ctx):
"bitrate": 192,
"source_id": 1,
"format_id": 1,
"meta": {"track": "Foo 3"},
},
)

Expand Down

0 comments on commit bcc75a9

Please sign in to comment.