[Developers] mjt and the freebase api changes

Nick Thompson nix at metaweb.com
Wed Jun 20 00:14:42 UTC 2007


i made this change on mjtemplate.org/dist/mjt-0.4/mjt.js so people
linking to that should be up and running again.

mjt 0.5 coming soon.

thanks will!

     nick

Will Moffat wrote:
> Dear Freebase MJT users,
> 
> On 6/16/07, Nick Thompson <nix at metaweb.com> wrote:
>> i've had reports that http://mjtemplate.org isn't up to date with the
>> recent freebase api change
> 
> If you are getting MJT Freebase withdrawal symptoms this weekend,
> here's the simple fix:
> 
> In mjt.MqlReadRequest.prototype.response_handler
> 
> Make this change:
>          //if (sr.status == '/mql/status/ok') {   //OLD
>         if (sr.code   == '/api/status/ok') {   //NEW
> 
> Or just override the whole function by copying the code below into in
> your own .js file.
> regards,
> --Will
> 
> 
> //
> // handle a query response.
> //   do most of the work for all json callback handlers
> //
> mjt.MqlReadRequest.prototype.response_handler = function(o) {
> 
>    if (typeof(o) == 'string' && o == mjt._timeout_token) {
>        mjt.task_timeout(this);
>    } else {
>        this.state = 'ready';
>    }
> 
>    // split result and notify all dependents
>    for (var sqk in this.subqueries) {
>        var sq = this.subqueries[sqk];
> 
>        if (typeof(o) == 'string' && o == mjt._timeout_token) {
>            sq.state = 'error';
>            sq._error_type = '/user/mjt/messages/script_timeout';
>            sq.messages = [{
>                type: '/user/mjt/messages/script_timeout',
>                text: "browser could not contact the server",
>                level: 'error'
>            }];
>        } else {
>            var sr = o[sqk];
> 
>            if ('cursor' in sr)
>                sq.next_cursor = sr.cursor;
> 
>            if ('messages' in sr)
>                sq.messages = sr.messages;
> 
>          //if (sr.status == '/mql/status/ok') {   //OLD
>         if (sr.code   == '/api/status/ok') {   //NEW
>                if (sr.result == null) {
>                    sq.state = 'error';
>                    sq.messages = [{
>                        type: '/user/mjt/messages/empty_result',
>                        text: "no results found",
>                        level: 'error'
>                    }];
>                } else {
>                    sq.result = sr.result;
>                    sq.state = 'ready';
>                }
>            } else {
>                sq.state = 'error';
>                sq._error_type = sr.status;
>                mjt.debug && mjt.spew('mqlread failed', sq);
>            }
>        }
> 
>        //if (sq.state == 'ready' && sq.result == null)
>        //    sq.state = 'nomatch';
>        mjt.notify(sq);
>    }
> };


More information about the Developers mailing list