Skip to content

Commit

Permalink
running bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
breeve1 authored and breeve committed Mar 6, 2017
1 parent fcb7182 commit a95787e
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 14 deletions.
24 changes: 21 additions & 3 deletions Examples/walmart.s
Expand Up @@ -65,15 +65,33 @@ each(var p in fetchPage)
from expand (p.first to p.last)
}

create buffer product(url string, description string, price string)
create buffer product(url string, detailUrl string, description string, price string, upc string)

insert overwrite product
select
url,
'http://www.walmart.com' + pick '.prod-ProductCard--Image a' take attribute 'href',
pick '.prod-ProductTitle div',
pick '.Price-characteristic' + '.' + pick '.Price-mantissa'
from download page (select url from urls) with (js|thread(5))
pick '.Price-characteristic' + '.' + pick '.Price-mantissa',
''
from download page (select url from urls) with (js|thread(10))
where nodes = '.search-result-gridview-item'


update p
set p.upc = u.upc
from (select upc, url
from download page (select detailUrl from product) with (js|thread(10)) => {
"
var primaryProductId = __WML_REDUX_INITIAL_STATE__.product.primaryProduct;
var primaryProduct = __WML_REDUX_INITIAL_STATE__.product.products[primaryProductId];
return [{upc:primaryProduct.upc, url:url}];
"
}) u
join product p on p.detailUrl = u.url


select *
from product
27 changes: 17 additions & 10 deletions Pickaxe.Runtime/Http.cs
Expand Up @@ -71,23 +71,30 @@ private static RuntimeTable<DynamicObject> ProcesJson(IHttpRequestFactory factor
json = string.Empty;

dynamic objectValue = JsonConvert.DeserializeObject(json);
if (!(objectValue is JArray))
throw new InvalidOperationException("must return array from java script");

var dynamics = new List<DynamicObject>();
var properties = new List<Dictionary<string, object>>();
foreach (var v in objectValue)

if (objectValue != null)
{
var dynamic = new DynamicObject();
Dictionary<string, object> values = v.ToObject<Dictionary<string, object>>();
if (!(objectValue is JArray))
throw new InvalidOperationException("must return array from java script");

foreach (var p in values.Keys)
dynamic.Add(p, values[p].ToString());
var properties = new List<Dictionary<string, object>>();
foreach (var v in objectValue)
{
var dynamic = new DynamicObject();
Dictionary<string, object> values = v.ToObject<Dictionary<string, object>>();

dynamics.Add(dynamic);
foreach (var p in values.Keys)
dynamic.Add(p, values[p].ToString());

dynamics.Add(dynamic);
}
}

var table = new RuntimeTable<DynamicObject>();
if(dynamics.Count == 0)
dynamics.Add(new DynamicObject());

table.SetRows(dynamics);
return table;
}
Expand Down
2 changes: 1 addition & 1 deletion Pickaxe.Runtime/Internal/SeleniumExecJsHttpWire.cs
Expand Up @@ -48,7 +48,7 @@ protected override object RunPostDownload(IWebDriver driver)
", _js);

string json = (string)jsExecutor.ExecuteScript(script, driver.Url);
string json = (string)jsExecutor.ExecuteScript(script, Url);
return json;
}
}
Expand Down
6 changes: 6 additions & 0 deletions Pickaxe.Studio/Highlighting/Scrape.xshd
Expand Up @@ -14,6 +14,12 @@
<End>'</End>
</Span>


<Span name="StringLiteralQuotes" color="Red">
<Begin>"</Begin>
<End>"</End>
</Span>

<Span name = "LineComment" color="Green" stopateol = "true">
<Begin>//</Begin>
</Span>
Expand Down

0 comments on commit a95787e

Please sign in to comment.