From 4d5112d5cccf732968a0c58580bc15d0aace5c2b Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Sun, 20 Nov 2011 15:35:56 +0000 Subject: [PATCH] simplify preprocessing for echonest --- server/djrandom/fingerprint/dedup.py | 32 ++++++++++------------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/server/djrandom/fingerprint/dedup.py b/server/djrandom/fingerprint/dedup.py index 86ce482..85bbd0e 100644 --- a/server/djrandom/fingerprint/dedup.py +++ b/server/djrandom/fingerprint/dedup.py @@ -23,32 +23,22 @@ class DeDuper(object): self._engine = engine self._resolver = Resolver() - def _generate_code_json(self, jsondata, track_id): + def _generate_code_json(self, echoprint_fp, sha1): """Parse the JSON string output of echoprint-codegen, and return a structure that fp.ingest() can deal with. Taken from 'fastingest.py', with minor changes. """ - c = json.loads(jsondata) - if "code" not in c: - return {} - - code = c["code"] - m = c["metadata"] - length = m["duration"] - version = m["version"] - artist = m.get("artist", None) - title = m.get("title", None) - release = m.get("release", None) - decoded = fp.decode_code_string(code) - - data = {"track_id": track_id, - "fp": decoded, - "length": length, - "codever": "%.2f" % version} - if artist: data["artist"] = artist - if release: data["release"] = release - if title: data["track"] = title + c = json.loads(echoprint_fp) + if 'code' not in c: + return None + + decoded = fp.decode_code_string(c['code']) + m = c['metadata'] + data = {'track_id': sha1, + 'fp': decoded, + 'length': m['duration'], + 'codever': '%.2f' % m['version']} return data def dedupe(self, dry_run=True): -- GitLab