def lookup(self, files): if len(files) > 1: raise Exception("Can only look up one file at a time") res = files[0] fname = res["file"] stime = time.time() duration, fp = acoustid.fingerprint_file(fname) actual_dur = res.get("data", {}).get("duration", duration) mtime = time.time() answer = None fptime = 0 looktime = 0 try: response = acoustid.lookup(app_key, fp, actual_dur, acoustid.DEFAULT_META) etime = time.time() fptime = (mtime - stime) * 1000 looktime = (etime - mtime) * 1000 if response.get("status") == "ok": chromaresults = response.get("results", []) if len(chromaresults): rec = chromaresults[0].get("recordings", []) if len(rec): answer = rec[0].get("id") except acoustid.WebServiceError: pass res["result"] = answer res["fptime"] = fptime res["lookuptime"] = looktime return [res]
def lookup(self, files): if len(files) > 1: raise Exception("Can only look up one file at a time") res = files[0] fname = res["file"] stime = time.time() duration, fp = acoustid.fingerprint_file(fname) actual_dur = res.get("data", {}).get("duration", duration) mtime = time.time() answer = None fptime = 0 looktime = 0 try: response = acoustid.lookup(app_key, fp, actual_dur, acoustid.DEFAULT_META) etime = time.time() fptime = (mtime-stime)*1000 looktime = (etime-mtime)*1000 if response.get("status") == "ok": chromaresults = response.get("results", []) if len(chromaresults): rec = chromaresults[0].get("recordings", []) if len(rec): answer = rec[0].get("id") except acoustid.WebServiceError: pass res["result"] = answer res["fptime"] = fptime res["lookuptime"] = looktime return [res]
def fingerprint(self, file): duration, fp = acoustid.fingerprint_file(file) tag = eyeD3.Tag() tag.link(file) artist = tag.getArtist() album = tag.getAlbum() title = tag.getTitle() track = tag.getTrackNum() if isinstance(track, tuple): track = track[0] u = uuid.uuid4() fpid = str(u) data = { "duration": "%d" % int(duration), "fingerprint": fp, "artist": artist, "album": album, "track": title, "mbid": fpid } if track: data["trackno"] = "%s" % track return (fpid, data)
def fingerprint(self, file): duration, fp = acoustid.fingerprint_file(file) tag = eyeD3.Tag() tag.link(file) artist = tag.getArtist() album = tag.getAlbum() title = tag.getTitle() track = tag.getTrackNum() if isinstance(track, tuple): track = track[0] u = uuid.uuid4() fpid = str(u) data = {"duration": "%d" % int(duration), "fingerprint": fp, "artist": artist, "album": album, "track": title, "mbid": fpid } if track: data["trackno"] = "%s" % track return (fpid, data)