Changeset 38376 for websites

Show
Ignore:
Timestamp:
08/29/10 21:37:06 (4 years ago)
Author:
NeoCat
Message:

Don't request (GET) while ratelimit is activated

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • websites/twicli/twicli.js

    r38372 r38376  
    3636function setupOAuthURL(url, post) { 
    3737        if (url.indexOf(twitterAPI) != 0) return url; 
     38        if (!post && ratelimit_reset_time && new Date < ratelimit_reset_time) return false; 
    3839        url = url.split("?"); 
    3940        setupOAuthArgs(url[1]); 
     
    4647function loadXDomainScript(url, ele) { 
    4748        url = setupOAuthURL(url); 
     49        if (!url) return ele; 
    4850        if (ele && ele.parentNode) 
    4951                ele.parentNode.removeChild(ele); 
     
    301303var geo = null; 
    302304var geowatch = null; 
     305var ratelimit_reset_time = null; 
    303306 
    304307//ログイン・自ユーザ名受信 
     
    349352 
    350353function error(str) { 
     354        if (str.indexOf('Rate limit exceeded.') == 0) { 
     355                if (ratelimit_reset_time && new Date < ratelimit_reset_time) 
     356                        return; 
     357                else 
     358                        update_ele2 = loadXDomainScript(twitterAPI + 'account/rate_limit_status.json' + 
     359                                                                                        '?id=' + myname + '&callback=twLimit2', update_ele2); 
     360        } 
    351361        $('loading').style.display = 'none'; 
    352362        alert(str); 
     
    754764} 
    755765function twDirectCheck(tw) { 
     766        if (tw.error) return error(tw.error); 
    756767        if (!tw || tw.length == 0) return false; 
    757768        if (last_direct_id && last_direct_id < tw[0].id) 
     
    765776                                        "hourly limit : " + lim.remaining_hits + " / " + lim.hourly_limit + "<br>" + 
    766777                                        "reset at : " + dateFmt(lim.reset_time); 
     778} 
     779function twLimit2(lim) { 
     780        ratelimit_reset_time = new Date(lim.reset_time.replace('+','GMT+'));; 
    767781} 
    768782// 新着reply受信通知 
     
    11451159        callPlugins("miscTab", $("tw2h")); 
    11461160        $("loading").style.display = "block"; 
    1147         update_ele2 = loadXDomainScript(twitterAPI + 'account/rate_limit_status.json' + 
     1161        if (ratelimit_reset_time && new Date < ratelimit_reset_time) 
     1162                $("tw2c").innerHTML = "<b>Twitter API status:</b><br>" + 
     1163                                        "hourly limit : 0<br>reset at : " + dateFmt(ratelimit_reset_time); 
     1164        else 
     1165                update_ele2 = loadXDomainScript(twitterAPI + 'account/rate_limit_status.json' + 
    11481166                                                                                '?id=' + myname + '&callback=twLimit', update_ele2); 
    11491167}