Yahoo uses URLs now
parent
d35f25f334
commit
5127a587ea
|
@ -1,4 +1,4 @@
|
||||||
USING: tools.test yahoo kernel io.files xml sequences accessors ;
|
USING: tools.test yahoo kernel io.files xml sequences accessors urls ;
|
||||||
|
|
||||||
[ T{
|
[ T{
|
||||||
result
|
result
|
||||||
|
@ -8,4 +8,4 @@ USING: tools.test yahoo kernel io.files xml sequences accessors ;
|
||||||
"Official site with news, tour dates, discography, store, community, and more."
|
"Official site with news, tour dates, discography, store, community, and more."
|
||||||
} ] [ "resource:extra/yahoo/test-results.xml" file>xml parse-yahoo first ] unit-test
|
} ] [ "resource:extra/yahoo/test-results.xml" file>xml parse-yahoo first ] unit-test
|
||||||
|
|
||||||
[ "http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=Factor-search&query=hi&results=2&similar_ok=1" ] [ "hi" <search> "Factor-search" >>appid 2 >>results t >>similar-ok query ] unit-test
|
[ URL" http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=Factor-search&query=hi&results=2&similar_ok=1" ] [ "hi" <search> "Factor-search" >>appid 2 >>results t >>similar-ok query ] unit-test
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
! Copyright (C) 2006 Daniel Ehrenberg, Walton Chan
|
! Copyright (C) 2006 Daniel Ehrenberg, Walton Chan
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: http.client xml xml.utilities kernel sequences
|
USING: http.client xml xml.utilities kernel sequences
|
||||||
namespaces http math.parser help math.order locals
|
math.parser urls accessors locals ;
|
||||||
urls accessors ;
|
|
||||||
IN: yahoo
|
IN: yahoo
|
||||||
|
|
||||||
TUPLE: result title url summary ;
|
TUPLE: result title url summary ;
|
||||||
|
|
||||||
C: <result> result
|
C: <result> result
|
||||||
|
|
||||||
TUPLE: search query results adult-ok start appid region type
|
TUPLE: search query results adult-ok start appid region type
|
||||||
format similar-ok language country site subscription license ;
|
format similar-ok language country site subscription license ;
|
||||||
|
|
||||||
|
@ -20,11 +19,11 @@ format similar-ok language country site subscription license ;
|
||||||
] map ;
|
] map ;
|
||||||
|
|
||||||
: yahoo-url ( -- str )
|
: yahoo-url ( -- str )
|
||||||
"http://search.yahooapis.com/WebSearchService/V1/webSearch" ;
|
URL" http://search.yahooapis.com/WebSearchService/V1/webSearch" ;
|
||||||
|
|
||||||
: param ( search str quot -- search )
|
:: param ( search url name quot -- search url )
|
||||||
>r over r> call [ url-encode [ % ] bi@ ] [ drop ] if* ;
|
search url search quot call
|
||||||
inline
|
[ name set-query-param ] when* ; inline
|
||||||
|
|
||||||
: num-param ( search str quot -- search )
|
: num-param ( search str quot -- search )
|
||||||
[ dup [ number>string ] when ] compose param ; inline
|
[ dup [ number>string ] when ] compose param ; inline
|
||||||
|
@ -33,24 +32,22 @@ format similar-ok language country site subscription license ;
|
||||||
[ "1" and ] compose param ; inline
|
[ "1" and ] compose param ; inline
|
||||||
|
|
||||||
: query ( search -- url )
|
: query ( search -- url )
|
||||||
[
|
yahoo-url clone
|
||||||
yahoo-url %
|
"appid" [ appid>> ] param
|
||||||
"?appid=" [ appid>> ] param
|
"query" [ query>> ] param
|
||||||
"&query=" [ query>> ] param
|
"region" [ region>> ] param
|
||||||
"®ion=" [ region>> ] param
|
"type" [ type>> ] param
|
||||||
"&type=" [ type>> ] param
|
"format" [ format>> ] param
|
||||||
"&format=" [ format>> ] param
|
"language" [ language>> ] param
|
||||||
"&language=" [ language>> ] param
|
"country" [ country>> ] param
|
||||||
"&country=" [ country>> ] param
|
"site" [ site>> ] param
|
||||||
"&site=" [ site>> ] param
|
"subscription" [ subscription>> ] param
|
||||||
"&subscription=" [ subscription>> ] param
|
"license" [ license>> ] param
|
||||||
"&license=" [ license>> ] param
|
"results" [ results>> ] num-param
|
||||||
"&results=" [ results>> ] num-param
|
"start" [ start>> ] num-param
|
||||||
"&start=" [ start>> ] num-param
|
"adult_ok" [ adult-ok>> ] bool-param
|
||||||
"&adult_ok=" [ adult-ok>> ] bool-param
|
"similar_ok" [ similar-ok>> ] bool-param
|
||||||
"&similar_ok=" [ similar-ok>> ] bool-param
|
nip ;
|
||||||
drop
|
|
||||||
] "" make ;
|
|
||||||
|
|
||||||
: factor-id
|
: factor-id
|
||||||
"fRrVAKzV34GDyeRw6bUHDhEWHRedwfOC7e61wwXZLgGF80E67spxdQXuugBe2pgIevMmKwA-" ;
|
"fRrVAKzV34GDyeRw6bUHDhEWHRedwfOC7e61wwXZLgGF80E67spxdQXuugBe2pgIevMmKwA-" ;
|
||||||
|
|
Loading…
Reference in New Issue