summaryrefslogtreecommitdiff
path: root/js/asdf.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/asdf.js')
-rw-r--r--js/asdf.js84
1 files changed, 84 insertions, 0 deletions
diff --git a/js/asdf.js b/js/asdf.js
new file mode 100644
index 0000000..0e173a1
--- /dev/null
+++ b/js/asdf.js
@@ -0,0 +1,84 @@
+//
+// asdf .. asdf.us/im search api
+
+var asdf = { fetching: false }
+asdf.random = function (e){
+ status("fetching random photoblasts")
+ e && e.preventDefault();
+ opt = {};
+ opt.data = { random: 1 };
+ opt.success = gallery.load;
+ asdf.fetch(opt);
+}
+
+asdf.fetch = function (opt){
+ if (asdf.fetching) return;
+ asdf.fetching = true;
+ var params = {random:1};
+ $.ajax({
+ 'url': "http://asdf.us/cgi-bin/im/list",
+ 'data': params,
+ 'dataType': "jsonp",
+ 'success': function(urls){
+ console.log(urls);
+ asdf.fetching = false;
+ opt.success && opt.success(urls)
+ },
+ 'error': opt.error || function(err){
+ console.log(err);
+ }
+ });
+}
+
+
+//
+// dumpfm .. dump.fm/search api
+
+var dumpfm = {}
+dumpfm.search = function (e){
+ e && e.preventDefault();
+
+ var term = $("#dumpfm-search-query").val().toLowerCase()
+ var rawTokens = term.split(" ")
+ var tokens = []
+ rawTokens.forEach(function(t){ if (t.length > 2) tokens.push(t) })
+ if (tokens.length == 0 || tokens[0] == "undefined") {
+ status("search query too small")
+ } else {
+ status("searching for '"+tokens.join(" and ")+"'")
+ dumpfm.fetch({
+ query: tokens.join("+"),
+ success: gallery.load
+ })
+ }
+};
+
+dumpfm.fetch = function(opt){
+ if (dumpfm.fetching) return;
+ dumpfm.fetching = true;
+ var params = {};
+ $.ajax({
+ 'url': "http://dump.fm/cmd/search/" + opt.query,
+ 'data': params,
+ 'dataType': "jsonp",
+ 'success': function(urls){
+ dumpfm.fetching = false;
+ for (var i = 0, len = urls.length; i < len; i++) {
+ var url = urls[i].url;
+ console.log(url)
+ if (url.match(/\/^\d+\//)) {
+ url = "http://dump.fm/images/" + url;
+ }
+ else {
+ url = "http://" + url;
+ }
+ urls[i].url = url;
+ }
+ opt.success && opt.success(urls)
+ },
+ 'error': opt.error || function(err){
+ console.log(err);
+ }
+ });
+}
+