Created
May 21, 2012 09:26
-
-
Save dayanand-sourcebits/2761466 to your computer and use it in GitHub Desktop.
sda
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var getAllProducts = function(){ | |
var i; | |
var product_divs; | |
var products = new Array(); | |
try{ | |
product_divs = document.getElementsByClassName('listing-card'); | |
if(product_divs.length){ | |
for(i=0; i<product_divs.length; i++){ | |
if(product_divs[i].getElementsByTagName('IMG').length){ | |
var element = product_divs[i].getElementsByTagName('IMG')[0]; | |
var scrap_element = new scrapProduct(element) | |
var product_details = new Product(scrap_element) | |
console.log(product_details); | |
products.push(product_details); | |
} | |
} | |
} | |
else{ | |
element = document.getElementById('fullimage_link1').getElementsByTagName('IMG')[0]; | |
var scrap_product = new scrapProduct(element); | |
product_details = new Product(scrap_product); | |
products.push(product_details); | |
} | |
return JSON.stringify(products); | |
} | |
catch(err){ | |
console.log(err); | |
return "{'error' : 'Not an valid product'}" | |
} | |
} | |
function product(x,y){ | |
var element; | |
var i; | |
element = document.elementFromPoint(x,y); | |
try{ | |
var scrap_product = new scrapProduct(element); | |
var product_details = new Product(scrap_product); | |
return JSON.stringify(product_details); | |
} | |
catch(err){ | |
console.log(err); | |
return "{'error' : 'Not an valid product'}" | |
} | |
} | |
String.prototype.trim = function() | |
{ | |
return String(this).replace(/^\s+|\s+$/g, ''); | |
}; | |
String.prototype.getPriceValue = function(){ | |
return String(this).match(/(\d+)\.(\d+)|(\d+)/)[0]; | |
} | |
String.prototype.strip_id = function() | |
{ | |
return String(this).match(/(\/sku:(\d+)\/)/)[2]; | |
} | |
var scrapProduct = function(element){ | |
this.element = element, | |
this.product_div = this.element.parentElement.parentElement.parentNode, | |
this.url = function(){ product_div.getElementsByTagName('a')[1].href; }, | |
this.retailer_name = function(){return 'Eastbay.com'}, | |
this.get_retailer_id = function(){ this.url.stip_id(); }, | |
this.large_image_url = function(){return this.element.src}, | |
this.short_image_url = function(){return this.large_image_url}, | |
this.name = this.element.alt.trim(), | |
this.current_price = function(){ return this.product_div.getElementsByClassName('product_price')[0].textContent.getPriceValue();} , | |
this.msrp = this.current_price(), | |
this.getMetaDescription = function(){ element.alt.trim() }, | |
this.short_description = function(){return;}, | |
this.long_description = this.name | |
} | |
var Product = function(scrap_element){ | |
try{ | |
this.retailer_id = scrap_element.get_retailer_id(), | |
this.retailer_name = scrap_element.retailer_name(), | |
this.name = scrap_element.name, | |
this.large_image_url = scrap_element.large_image_url(), | |
this.short_image_url = scrap_element.short_image_url(), | |
this.current_price = scrap_element.current_price(), | |
this.msrp = scrap_element.msrp, | |
this.short_description = scrap_element.short_description(), | |
this.long_descrption = scrap_element.long_description, | |
this.url = scrap_element.url; | |
} | |
catch(err){} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment