[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