var rest = require('restler'); rest.get('https://api.github.com/orgs/csci-4830-002-2014/repos').on('complete', function(result) { if (result instanceof Error) { console.log('Error:', result.message); this.retry(5000); // try again after 5 sec } else { console.log(result); } });
}; var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url>', 'URL', "") .parse(process.argv); if (program.url !== "") { rest.get(program.url).on('complete', function(result) { if (result instanceof Error) { console.log('Error: ' + result.message); } else { var checkJson = checkHtml(result, program.checks); outJson(checkJson); } }); } else { var checkJson = checkHtmlFile(program.file, program.checks); outJson(checkJson); } } else { exports.checkHtmlFile = checkHtmlFile; }
var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url>', 'URL') .parse(process.argv); var checkJson = {}; var outJson; if( program.url ){ rest.get(program.url).on('complete', function(data) { checkJson = checkUrl(data, program.checks); outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); }); }else{ checkJson = checkHtmlFile(program.file, program.checks); outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } else { exports.checkHtmlFile = checkHtmlFile; }
this.retry(5000); // try again after 5 sec } else { checkJson = checkHtmlUrl(result,program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } var clone = function(fn) { return fn.bind({}); }; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('--url <url_of_html_file>') .parse(process.argv); if(typeof program.url != 'undefined'){ rest.get(program.url).on('complete', furl); //Revise for correct callback and asyncronous usage } else { checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } else { exports.checkHtmlFile = checkHtmlFile; }
var response2console = function(result, response) { if (result instanceof Error) { console.error('Error: ' + util.format(response.message)); } else { var checkJson = checkUrlResult(result, checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } }; return response2console; }; if(require.main == module) { program .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-u, --url <url_link>', 'url link') .parse(process.argv); if (program.url){ var response2console = buildfn(program.checks); rest.get(program.url).on('complete',response2console); }else{ var checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } else { exports.checkHtmlFile = checkHtmlFile; }
}; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url>', 'url to index.html', clone(assertUrlExists), URL_DEFAULT) .parse(process.argv); function handleContent(content){ var checkJson = checkHtmlFile(content, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } if (program.url == "none") { handleContent(readFile(program.file)); } else { var handleResponse = function(result, response) { if (result instanceof Error) { console.error('Error: ' + util.format(response.message)); } else { handleContent(result); }; }; rest.get(program.url).on('complete', handleResponse); } } else { exports.checkHtmlFile = checkHtmlFile; }
Posterous.prototype.request = function(method, api, args, callback) { args = args || {}; args.api_token = this._token; var reqOptions = { host: HOST, port: 80, method: method, path: PATH + api, headers: {Authorization: this._auth}, body: null }; if (method != 'GET') { args['_methods'] = method; reqOptions.method = method; reqOptions.data = args; } else { reqOptions.path = reqOptions.path + '?' + qs.stringify(args); } var uri = reqOptions.host + reqOptions.path; switch(method){ case "GET": Rest.get(uri, reqOptions, callback).on('complete', function(data) { callback(null, data); }).on('error', function(data, err) { callback(err, data); }); break; case "POST": console.log('posting via Restler') Rest.post(uri, reqOptions, callback).on('complete', function(data) { callback(null, data); }).on('error', function(data, err) { callback(err, data); }); break; case "PUT": Rest.put(uri, reqOptions, callback).on('complete', function(data) { callback(null, data); }).on('error', function(data, err) { callback(err, data); }); break; case "DELETE": Rest.del(uri, reqOptions, callback).on('complete', function(data) { callback(null, data); }).on('error', function(data, err) { callback(err, data); }); break; default: callback(err, "no METHOD was set"); } };
var rest = require('restler'); rest.get('https://api.github.com/repos/LoganBates/hackathon-accesslog/stats/contributors').on('complete', function(result) { if (result instanceof Error) { console.log('Error:', result.message); this.retry(5000); // try again after 5 sec } else { console.log(result); } });
}; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html') .option('-u, --url <URL>', 'URL for page to check') .parse(process.argv); var checkJson; if (program.file) { checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } if (program.url) { var site = restler.get(program.url).on('complete', function(result) { if (result instanceof Error) { console.log("Error getting url : " + result); } else { checkJson = checkFile(result, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } }); //checkJson = checkHtmlFile(program.file, program.checks); } } else { exports.checkHtmlFile = checkHtmlFile; }
var checkURL=function(url) { return cheerio.load(rest.get(url)); }
var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; var urlHTML=""; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url_link>', 'Website URL',true, URL_DEFAULT ) .parse(process.argv); restler.get(program.url).on('complete', function(result, data){ urlHTML = result; var checkJsonURL = checkURL(urlHTML, program.checks); var outJson = JSON.stringify(checkJsonURL, null, 4); console.log( outJson); }); } else { exports.checkHtmlFile = checkHtmlFile; exports.checkURL = checkURL; }
var cheerioURL = function(url) { return cheerio.load(rest.get(url).on('complete', htmloutput)); }
}; var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; var checkJson = null; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <web_url>', 'URL to index.html') .parse(process.argv); if(program.url) { rest.get(program.url).on('complete', function(urlcontents) { checkJson = checkString(urlcontents, program.checks); }); } else { checkJson = checkHtmlFile(program.file, program.checks); } var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } else { exports.checkHtmlFile = checkHtmlFile; }
out[checks[ii]] = present; } return out; } } return checkUrl; }; var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); } if (require.main == module) { program.option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url_to_html_file>', 'URL to the html file') .parse(process.argv); if (program.file) var checkJson = checkHtmlFile(program.file, program.checks); if (program.url) { var checkUrl = buildfn(program.checks); rest.get(program.url).on('complete', checkUrl); } var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } else { exports.checkHtmlFile = checkHtmlFile; }
// http://stackoverflow.com/a/6772648 return fn.bind({}); }; var respond = function(result) { if (result instanceof Error) { sys.puts('Error: ' + result.message); } else { var checkJson = checkUrlResult(result, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } }; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url>', 'URL to check') .parse(process.argv); if (program.url) { rest.get(program.url).on('complete', respond); } else { var checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } else { exports.checkHtmlFile = checkHtmlFile; }
var rest = require('restler') , repl = require('repl') , config = require('./config'); var red = '\u001b[31m' , bold = '\u001b[1m' , reset = '\u001b[0m'; var orders = {}; var market = { rates: {} }; // always start with good exchange rates. rest.get('https://coinbase.com/api/v1/currencies/exchange_rates').on('complete', function(data, res) { market.rates = data; }); console.log(bold + 'Welcome to BitCoin Trader.' + reset + '\nCommand-line console for buying and selling BitCoins.\n\n Syntax: BUY <amount> [currency]\n Example: BUY 10\n\nIf a currency is provided (USD, EUR, etc.), the order will buy as many BTC as the <amount> provides at the current exchange rates, updated once per 60 seconds.\n'); repl.start({ prompt: 'coinbase> ' , eval: function(cmd, context, filename, callback) { var tokens = cmd.toLowerCase().replace('(','').replace(')','').replace('\n', '').split(' '); var amount = parseFloat(tokens[1]); var orderID = new Date().toString(); var denomination = 'BTC'; if (typeof(tokens[2]) != 'undefined') { denomination = tokens[2].toUpperCase();
var restURL = function(urlName){ return rest.get(urlName); }
var checkHtmlUrl = function(htmlurl, checksfile, display) { restler.get(htmlurl).on('complete', function(result) { checkHtml(cheerio.load(result), checksfile, display); }); };
}; var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists) ) //, HTMLFILE_DEFAULT) .option('-u, --url <url_fqdn>', 'URL to index.html') //, clone(assertURLExists) ) //, URL_DEFAULT) .parse(process.argv); if (program.url && program.file) console.log("only a URL or a file may be specified"); else if (program.url) { var write2file = assertURLExists(program.url, program.checks); rest.get(program.url).on('complete', write2file); //assertFileExists(TEMPURLFILE); //var checkJson = checkHtmlFile(TEMPURLFILE, program.checks); //var outJson = JSON.stringify(checkJson, null, 4); //console.log(outJson); } else { var checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } else { exports.checkHtmlFile = checkHtmlFile; }
var cheerioHtmlUrl = function(url) { return cheerio.load(rest.get(url).on('success', function(result) { return result; }) ); };
var getURLContents = function(URL, callback) { restler.get( URL ).on( 'success', function( data, response ) { callback( data ); }); }
var cheerioHtmlUrl = function(htmlurl) { return rest.get(htmlurl).on('complete', function(result) { console.log(result); }); };
var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url>','Url',function(url) { return url.toString(); }, '') .parse(process.argv); if (program.url){ console.log(program.url); rest.get(program.url).on('complete', function(result, response) { fs.writeFileSync(HTMLFILE_DEFAULT, result) var checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); }); } else { var checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } else { exports.checkHtmlFile = checkHtmlFile; }
exports.search = function (req, res) { var rest = require('restler'), ArrayHelper = require('../util/ArrayHelper'), async = require('async'), config = require('config/config'), age = req.query.age, gender = req.query.gender, relation = req.query.relation, event = req.query.event; var url = config.api.url + "/icebreaker?age="+age+"&gender="+gender+"&relation="+relation+"&event="+event, trendsUrl = config.api.url + "/trends"; console.log(url); async.parallel({ search: function (callback) { rest.get(url).on('complete', function(result) { if (result instanceof Error) { console.log('Error:', result.message); //this.retry(5000); // try again after 5 sec } else { //console.dir(result); callback(null, result); } }); }//, // trending: function (callback) { //// setTimeout(function(){ //// callback(null, 2); //// }, 100); // // rest.get(trendsUrl).on('complete', function(result) { // if (result instanceof Error) { // console.log('Error:', result.message); // //this.retry(5000); // try again after 5 sec // } // else { // //console.dir(result); // callback(null, result); // } // }); // } }, function (err, results) { //console.dir(results); var searchResults = ArrayHelper.chunks(results.search.data, 4); //trendingResults = ArrayHelper.chunks(results.trending.data, 4); //console.dir(searchResults); //console.dir(trendingResults); res.render('search/results', { title: 'Break the ice!', searchResults: searchResults, //trendingResults: trendingResults, partials: { nav: 'layout/nav-small', //trending: 'search/trending' search: 'search/search' } }); }); rest.get('http://google.com?q=hack').on('complete', function(result) { if (result instanceof Error) { console.log('Error:', result.message); //this.retry(5000); // try again after 5 sec } else { res.render('search/search', { title: 'Break the ice!', partials: { nav: 'layout/nav-small' } }); } }); };
var restler = require('restler') , _s = require('underscore.string'); process.on('uncaughtException', function (err) { console.log(err); }) var webtoonId = process.argv[2]; //var webtoonId = "471283"; restler.get('http://comic.naver.com/webtoon/list.nhn?titleId=' + webtoonId).once('complete', function (mainHtml) { // 마지막 에피소드를 알아내기 위해 html을 다운로드 합니다. var $ = jQuery(mainHtml); var lastestTitleLink = $('.title a').attr('href'); // selector를 이용하여 마지막 에피소드 링크를 추출합니다. var lastestEpisodeNoRegexp = /no=(\d+).*&/; if (!lastestEpisodeNoRegexp.test(lastestTitleLink)) { console.log('웹툰 아이디를 찾을 수 없습니다.') return; } console.log('Download...' + $('title').text()) require('mkdirp')(webtoonId, function (err) { // 디렉토리를 만듭니다. if (err) { console.error(err) } else { var lastestEpisodeNo = lastestTitleLink.match(lastestEpisodeNoRegexp)[1]; var workers = []; for (var titleId = 1; titleId <= lastestEpisodeNo; titleId++) { // 에피소드별 url을 생성합니다.
var checks = loadChecks(checksfile).sort(); var out = {}; for(var ii in checks) { var present = $(checks[ii]).length > 0; out[checks[ii]] = present; } return out; }; var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; rest.get(HEROKUURL).on('complete', function(result) { if (result instanceof Error) { console.log('Error: ', result.message); }else{ console.log(result); } }); if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url_path>', 'path to url index.html', clone(assertFileExists), HEROKUURL) .parse(process.argv); var checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4);
var readStringFromUrl = function(url, checksfile){ rest.get(url).on('complete', function(data){ checkHtmlString(data,checksfile); }); };
}; var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; if( require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <html_file>', 'Url to file') .parse(process.argv); rest.get('https://github.com/coolcrm/bitstarter/blob/5b2e700f98bf2c6bae7093630c3f8dd323f88d83/index.html').on('complete',function(result){ //HERE console.log(result); }); /* if (program.url) console.log('Checks file is: ', program.checks); if (program.file) console.log('File is: ', program.file); */ var checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } else { exports.checkHtmlFile = checkHtmlFile; }
var out = {}; for(var ii in checks) { var present = $(checks[ii]).length > 0; out[checks[ii]] = present; } return out; }; var clone = function(fn) { // Workaround for commander.js issue. // http://stackoverflow.com/a/6772648 return fn.bind({}); }; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <html_file_url>', 'url to index.html') .parse(process.argv); if(program.url != null){ rest.get(program.url).on('complete', buildFnCheerioHtmlUrlProcessor(program.url,program.checks)); } else{ var checkJson = checkHtmlFile(program.file, program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } else { exports.checkHtmlFile = checkHtmlFile; }
return fn.bind({}); }; var loadUrlContent = function(result) { if(result instanceof Error) { console.log("Error while loading url: %s. Exiting.", result.message); process.exit(2); } else { var checkJson = checkHtmlFile(cheerio.load(result), program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } }; if(require.main == module) { program .option('-c, --checks <check_file>', 'Path to checks.json', clone(assertFileExists), CHECKSFILE_DEFAULT) .option('-f, --file <html_file>', 'Path to index.html', clone(assertFileExists), HTMLFILE_DEFAULT) .option('-u, --url <url_file>', 'Url of index.html', URL_DEFAULT) .parse(process.argv); if (program.url.length > 0) { rest.get(program.url).on('complete', loadUrlContent); } else { var checkJson = checkHtmlFile(cheerioHtmlFile(program.file), program.checks); var outJson = JSON.stringify(checkJson, null, 4); console.log(outJson); } } else { exports.checkHtmlFile = checkHtmlFile; }