Skip to content

Commit

Permalink
Support ingesting tracks from /debug endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
jhurliman committed Aug 1, 2012
1 parent 6ea272b commit 1325107
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 4 deletions.
16 changes: 13 additions & 3 deletions controllers/debug.js
Expand Up @@ -12,9 +12,9 @@ exports.debugQuery = function(req, res) {
if (!req.body || !req.body.json) if (!req.body || !req.body.json)
return server.renderView(req, res, 200, 'debug.jade', {}); return server.renderView(req, res, 200, 'debug.jade', {});


var code, codeVer; var json, code, codeVer;
try { try {
var json = JSON.parse(req.body.json)[0]; json = JSON.parse(req.body.json)[0];
code = json.code; code = json.code;
codeVer = json.metadata.version.toString(); codeVer = json.metadata.version.toString();
} catch (err) { } catch (err) {
Expand All @@ -25,7 +25,17 @@ exports.debugQuery = function(req, res) {
return server.renderView(req, res, 500, 'debug.jade', return server.renderView(req, res, 500, 'debug.jade',
{ err: 'Unrecognized input' }); { err: 'Unrecognized input' });
} }


if (req.body.Ingest) {
delete req.body.json;
req.body.code = code;
req.body.version = codeVer;
req.body.track = json.metadata.title;
req.body.length = json.metadata.duration;
req.body.artist = json.metadata.artist;
return require('./api').ingest(req, res);
}

fingerprinter.decodeCodeString(code, function(err, fp) { fingerprinter.decodeCodeString(code, function(err, fp) {
if (err) { if (err) {
log.error('Failed to decode codes for debug query: ' + err); log.error('Failed to decode codes for debug query: ' + err);
Expand Down
2 changes: 1 addition & 1 deletion controllers/fingerprinter.js
Expand Up @@ -308,7 +308,7 @@ function ingest(fp, callback) {
'", ' + fp.length + ' seconds, ' + fp.codes.length + ' codes (v' + '", ' + fp.length + ' seconds, ' + fp.codes.length + ' codes (v' +
fp.codever + ')'); fp.codever + ')');


if (!fp.codes.length || !fp.length || !fp.codever) if (!fp.codes.length || typeof fp.length !== 'number' || !fp.codever)
return callback('Missing required track fields', null); return callback('Missing required track fields', null);


fp = cutFPLength(fp, MAX_DURATION); fp = cutFPLength(fp, MAX_DURATION);
Expand Down
1 change: 1 addition & 0 deletions views/debug.jade
Expand Up @@ -37,6 +37,7 @@ html(lang="en")
| !{input} | !{input}
br br
input(type='submit', name='Lookup', value='Lookup') input(type='submit', name='Lookup', value='Lookup')
input(type='submit', name='Ingest', value='Ingest')


h2#status h2#status
table#matches(border=1) table#matches(border=1)
Expand Down

0 comments on commit 1325107

Please sign in to comment.