wireframe (owner)

Revisions

gist: 74198 Download_button fork
public
Public Clone URL: git://gist.github.com/74198.git
Embed All Files: show embed
zillow ubiquity plugin #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
CmdUtils.CreateCommand({
  name: "zillow",
  icon: "http://www.zillow.com/favicon.ico",
  homepage: "http://ryan.codecrate.com",
  author: { name: "Ryan Sonnek", email: "ryan@codecrate.com"},
  license: "MIT",
  description: "Search for property value on zillow.com",
  help: "select an address and invoke this command",
  takes: {"address": noun_arb_text},
  searchUrl: 'http://www.zillow.com/webservice/GetSearchResults.htm',
  postData: function(input) {
    var address = input.text;
    var zipcode = address.substring(address.lastIndexOf(' '));
    var street = address.substring(0, address.lastIndexOf(' '));
    return {'zws-id': 'X1-ZWz1csm2cyipsb_6plsv', 'address': address, 'citystatezip': zipcode};
  },
  preview: function(pblock, address) {
    pblock.innerHTML = 'Loading...';
    
    jQuery.get(this.searchUrl, this.postData(address), function(xml) {
      var result = jQuery(xml).find('result');
 
      var html = '';
      html += result.size() + ' result found. <br />';
 
      html += "<p>" + address.text + "</p>";
      
      html += "<b>$" + result.find('zestimate').find('amount').text() + "</b><br />";
      html += "<i>($" + result.find('zestimate').find('valuationRange').find('low').text() + " - ";
      html += "$" + result.find('zestimate').find('valuationRange').find('high').text() + ")</i>";
 
      pblock.innerHTML = html;
    });
  },
  execute: function(address) {
    jQuery.get(this.searchUrl, this.postData(address), function(xml) {
      var result = jQuery(xml).find('result');
      var url = result.find('links').find('homedetails').text();
      Utils.openUrlInBrowser(url);
    });
  }
});