specs_watcher 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/.rspec +2 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +63 -0
- data/Rakefile +7 -0
- data/bin/specs_watcher +5 -0
- data/lib/specs_watcher/availability.rb +23 -0
- data/lib/specs_watcher/cli.rb +57 -0
- data/lib/specs_watcher/errors.rb +5 -0
- data/lib/specs_watcher/formatter.rb +9 -0
- data/lib/specs_watcher/parsers/availability.rb +32 -0
- data/lib/specs_watcher/parsers/searcher.rb +40 -0
- data/lib/specs_watcher/requests.rb +30 -0
- data/lib/specs_watcher/searcher.rb +86 -0
- data/lib/specs_watcher/version.rb +3 -0
- data/lib/specs_watcher.rb +12 -0
- data/spec/fixtures/vcr_cassettes/availability_search_default_options.yml +105 -0
- data/spec/fixtures/vcr_cassettes/cli_availability.yml +106 -0
- data/spec/fixtures/vcr_cassettes/cli_keyword_bogus.yml +151 -0
- data/spec/fixtures/vcr_cassettes/cli_search_keyword_balvenie.yml +251 -0
- data/spec/fixtures/vcr_cassettes/searcher_search_bourbon.yml +2964 -0
- data/spec/fixtures/vcr_cassettes/searcher_search_default_options.yml +9461 -0
- data/spec/fixtures/vcr_cassettes/seracher_search_keyword_yamazaki.yml +169 -0
- data/spec/lib/specs_watcher/availability_spec.rb +20 -0
- data/spec/lib/specs_watcher/cli_spec.rb +144 -0
- data/spec/lib/specs_watcher/searcher_spec.rb +61 -0
- data/spec/spec_helper.rb +114 -0
- data/specs_watcher.gemspec +30 -0
- metadata +211 -0
@@ -0,0 +1,106 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.specsonline.com/cgi-bin/showavail?upc=085457000211&x=0&y=0&zip=78751
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML,
|
12
|
+
like Gecko) Chrome/38.0.2125.122 Safari/537.36
|
13
|
+
Dnt:
|
14
|
+
- '1'
|
15
|
+
Accept-Language:
|
16
|
+
- en-US,en;q=0.8
|
17
|
+
Accept:
|
18
|
+
- text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
|
19
|
+
Referer:
|
20
|
+
- http://www.specsonline.com/cgi-bin/search?keyword=&inclass=Liquors&webclass=Liquors&subclass=130&origin=®ion=&size=&Sortby=Name&pricefrom=&pricethru=&
|
21
|
+
Connection:
|
22
|
+
- keep-alive
|
23
|
+
response:
|
24
|
+
status:
|
25
|
+
code: 200
|
26
|
+
message: OK
|
27
|
+
headers:
|
28
|
+
Date:
|
29
|
+
- Sun, 23 Nov 2014 18:25:55 GMT
|
30
|
+
Content-Type:
|
31
|
+
- text/html
|
32
|
+
Transfer-Encoding:
|
33
|
+
- chunked
|
34
|
+
Connection:
|
35
|
+
- keep-alive
|
36
|
+
Keep-Alive:
|
37
|
+
- timeout=5
|
38
|
+
Vary:
|
39
|
+
- Accept-Encoding
|
40
|
+
Server:
|
41
|
+
- ''
|
42
|
+
Content-Encoding:
|
43
|
+
- gzip
|
44
|
+
body:
|
45
|
+
encoding: UTF-8
|
46
|
+
string: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 3.0//EN\" \"html.dtd\">\n<HTML><HEAD>\n<script
|
47
|
+
language=\"JavaScript\">\nvar cartwin;\n\nfunction ordwin( form ) \n{\n\tvar
|
48
|
+
url = form;\n\n\tsmwin = window.open(url,'orderhist','width=600,height=640,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=350,top=150,screenX=350,screenY=150');\n\tsmwin.focus();\n\treturn
|
49
|
+
false;\n}\n\nfunction smallwin( form ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form='+form\n\n\tsmwin
|
50
|
+
= window.open(url,'SpecsOnline','width=500,height=440,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tsmwin.focus();\n\treturn
|
51
|
+
false;\n}\n\nfunction rladdcart( upc ) \n{\n\tvar url = \"/cgi-bin/rlshowcart?upc=\"+upc\n\tvar
|
52
|
+
doreg = ''\n/*\n\tdoreg = loadreg();\n\tif ( doreg == 'register' )\n url
|
53
|
+
= '/cgi-bin/cartreg?upc='+upc;\t\n*/\n\tcartwin = window.open(url,\"ShoppingCart\",'width=600,height=480,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tcartwin.focus();\n\treturn
|
54
|
+
false;\n}\nfunction addcart( upc ) \n{\n\tvar url = \"/cgi-bin/showcart?upc=\"+upc\n\tvar
|
55
|
+
doreg = ''\n/*\n\tdoreg = loadreg();\n\tif ( doreg == 'register' )\n url
|
56
|
+
= '/cgi-bin/cartreg?upc='+upc;\t\n*/\n\tcartwin = window.open(url,'ShoppingCart','width=600,height=480,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tcartwin.focus();\n\treturn
|
57
|
+
false;\n}\n\nfunction showsyn ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showsyn&upc='+upc\n\tsynwin
|
58
|
+
= window.open(url,'Synopsis','width=500,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tsynwin.focus();\n\treturn
|
59
|
+
false;\n}\n\nfunction showpic ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showpic&upc='+upc\n\tpicwin
|
60
|
+
= window.open(url,'Picture','title=no,width=200,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=no,toolbar=no,resizable=yes,left=250,top=250,screenX=250,screenY=250');\n\tpicwin.focus();\n\treturn
|
61
|
+
false;\n}\n\nfunction showpic2( upc )\n{\n\tvar x, y;\n\tvar divname = 'PicDiv';\n\tvar
|
62
|
+
imgsrc1 = '/prodpics/'+upc+'.jpg';\n\tvar imgsrc2 = '/images/close.jpg';\n/*\n\tx
|
63
|
+
= 200;\n\ty = 0;\n\tdocument.getElementById(divname).style.left = x;\n\tdocument.getElementById(divname).style.top
|
64
|
+
= y;\n*/\n\tdocument.getElementById(divname).innerHTML = \"<img id=PicImage
|
65
|
+
src=\\\"\" + imgsrc1 + \"\\\" onclick=hidepic() >\" + \"<img id=PicClose src=\\\"\"
|
66
|
+
+ imgsrc2 + \"\\\" onclick=hidepic() >\";\n\tdocument.getElementById(divname).style.display=
|
67
|
+
\"block\";\n\treturn false;\n}\n\nfunction hidekey()\n{\n\tvar divname = 'KeyDiv';\n\tdocument.getElementById(divname).innerHTML
|
68
|
+
= \"\";\n\tdocument.getElementById(divname).style.display = \"none\";\n\treturn
|
69
|
+
false;\n}\n\nfunction hidepic()\n{\n\tvar divname = 'PicDiv';\n\tdocument.getElementById(divname).innerHTML
|
70
|
+
= \"\";\n\tdocument.getElementById(divname).style.display = \"none\";\n\treturn
|
71
|
+
false;\n}\n\nfunction showkey ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showkey&upc='+upc\n\tskeywin
|
72
|
+
= window.open(url,'KeyInfo','width=500,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=250,screenX=150,screenY=250');\n\tskeywin.focus();\n\treturn
|
73
|
+
false;\n}\n\nfunction showkey2( upc )\n{\nvar url = '/cgi-bin/pleasewait?Form=showkey&upc='+upc\n\tvar
|
74
|
+
x, y;\n\tvar divname = 'KeyDiv';\n\tvar imgsrc1 = '/prodpics/'+upc+'.jpg';\n\tvar
|
75
|
+
imgsrc2 = '/images/close.jpg';\n\tx = 125;\n\ty = 100;\n\tdocument.getElementById(divname).style.left
|
76
|
+
= x;\n\tdocument.getElementById(divname).style.top = y;\n\tdocument.getElementById(divname).innerHTML
|
77
|
+
= \"<iframe width=500 height=200 id=KeyURL src=\\\"\"+url+\"\\\" onclick=hidekey()
|
78
|
+
>\";\n\tdocument.getElementById(divname).style.display= \"block\";\n\treturn
|
79
|
+
false;\n}\n\t\nfunction showavail ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showavail&upc='+upc\n\tskeywin
|
80
|
+
= window.open(url,'KeyInfo','width=540,height=500,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=250,top=150,screenX=250,screenY=150');\n\tskeywin.focus();\n\treturn
|
81
|
+
false;\n}\n\nfunction showavail2 ( upc ) \n{\n\tvar url = '/cgi-bin/showavail&upc='+upc\n\tvar
|
82
|
+
x, y;\n\tvar divname = 'KeyDiv';\n\tx = 125;\n\ty = 100;\n\tdocument.getElementById(divname).style.left
|
83
|
+
= x;\n\tdocument.getElementById(divname).style.top = y;\n\tdocument.getElementById(divname).innerHTML
|
84
|
+
= \"<iframe width=500 height=400 id=AvlURL src=\\\"\"+url+\"\\\" onmouseleave=hidekey()
|
85
|
+
>\";\n\tdocument.getElementById(divname).style.display= \"block\";\n\treturn
|
86
|
+
false;\n}\n\n</script>\n<TITLE>Show Product Availability</TITLE></HEAD>\n<meta
|
87
|
+
http-equiv='Set-Cookie' content='zip=78751; path=/'>\n<BASEFONT SIZE=4><BODY
|
88
|
+
BGCOLOR=\"f0f0f0\" ></BODY >\n<CENTER>\n<font style=\"font-family:Trebuchet
|
89
|
+
MS;font-size:20;color:b0b0b0;font-weight:bold;\">\nCHECK IN-STORE AVAILABILITY<br>SMOOTH
|
90
|
+
AMBLER OLD SCOUT RYE WHISKEY 6/CS [USA] 750ML\n</font>\n<FORM action=/cgi-bin/showavail>\n<table>
|
91
|
+
\n<tr><td align=center colspan=3> <font size=3><b>Enter your Zip Code to check
|
92
|
+
availability at the stores near you:</b></font>\n<input type=hidden name=upc
|
93
|
+
value=\"085457000211\" ><input name=\"zip\" value=\"78751\" size=\"22,1\"
|
94
|
+
maxlength=\"40\" type=\"text\"><input src=\"/hgifs/go.gif\" onclick=\"submit()\"
|
95
|
+
border=\"0\" type=\"image\">\n</td></tr>\n</table>\n<TABLE WIDTH=98% BORDER=0>\n\n<TR><TD>60-Highland
|
96
|
+
Park</TD><TD>Call Store</TD><TD align=right>1.2 miles</TD><TD><A HREF=/cgi-bin/showmap?store=60&mode=mini>[Map]</A></TD></TR>\n<TR><TD>197-Spec's
|
97
|
+
Rector</TD><TD>Limited Availabilty</TD><TD align=right>67.6 miles</TD><TD><A
|
98
|
+
HREF=/cgi-bin/showmap?store=197&mode=mini>[Map]</A></TD></TR>\n<TR><TD>41-Cinco
|
99
|
+
Ranch</TD><TD>Limited Availabilty</TD><TD align=right>110.6 miles</TD><TD><A
|
100
|
+
HREF=/cgi-bin/showmap?store=41&mode=mini>[Map]</A></TD></TR>\n<TR><TD>00-Downtown</TD><TD>Limited
|
101
|
+
Availabilty</TD><TD align=right>130.2 miles</TD><TD><A HREF=/cgi-bin/showmap?store=00&mode=mini>[Map]</A></TD></TR>\n<TR><TD>01-Kingwood</TD><TD>Limited
|
102
|
+
Availabilty</TD><TD align=right>133.3 miles</TD><TD><A HREF=/cgi-bin/showmap?store=01&mode=mini>[Map]</A></TD></TR>\n<TR><TD>06-Bay
|
103
|
+
Area Blvd</TD><TD>Call Store</TD><TD align=right>147.5 miles</TD><TD><A HREF=/cgi-bin/showmap?store=06&mode=mini>[Map]</A></TD></TR>\n</TABLE>\n</CENTER>\n</HTML>\n"
|
104
|
+
http_version:
|
105
|
+
recorded_at: Sun, 23 Nov 2014 18:26:00 GMT
|
106
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,151 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.specsonline.com/cgi-bin/search?Sortby=Name&inclass=Liquors&keyword=foobar&noask=noask&origin=&pageid=search&pricefrom=&pricethru=®ion=&showmax=1000&size=&subclass=&submit=Click%20to%20Show%20More&webclass=Liquors
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML,
|
12
|
+
like Gecko) Chrome/38.0.2125.122 Safari/537.36
|
13
|
+
Dnt:
|
14
|
+
- '1'
|
15
|
+
Accept-Language:
|
16
|
+
- en-US,en;q=0.8
|
17
|
+
Accept:
|
18
|
+
- text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
|
19
|
+
Referer:
|
20
|
+
- http://www.specsonline.com/cgi-bin/search?keyword=&inclass=Liquors&webclass=Liquors&subclass=130&origin=®ion=&size=&Sortby=Name&pricefrom=&pricethru=&
|
21
|
+
Connection:
|
22
|
+
- keep-alive
|
23
|
+
response:
|
24
|
+
status:
|
25
|
+
code: 200
|
26
|
+
message: OK
|
27
|
+
headers:
|
28
|
+
Date:
|
29
|
+
- Sun, 23 Nov 2014 18:26:01 GMT
|
30
|
+
Content-Type:
|
31
|
+
- text/html
|
32
|
+
Transfer-Encoding:
|
33
|
+
- chunked
|
34
|
+
Connection:
|
35
|
+
- keep-alive
|
36
|
+
Keep-Alive:
|
37
|
+
- timeout=5
|
38
|
+
Vary:
|
39
|
+
- Accept-Encoding
|
40
|
+
Server:
|
41
|
+
- ''
|
42
|
+
Content-Encoding:
|
43
|
+
- gzip
|
44
|
+
body:
|
45
|
+
encoding: UTF-8
|
46
|
+
string: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 3.0//EN\" \"html.dtd\">\n<HTML>\n<HEAD>\n<META
|
47
|
+
HTTP-EQUIV=\"Set-Cookie\" CONTENT=\"specsonline=11416767379204.128.208.187;
|
48
|
+
expires=Saturday, 31-Dec-50 23:59:59 GMT; path=/\">\n<TITLE>cart </TITLE>\n<script
|
49
|
+
language=\"JavaScript\">\nvar cartwin;\n\nfunction ordwin( form ) \n{\n\tvar
|
50
|
+
url = form;\n\n\tsmwin = window.open(url,'orderhist','width=600,height=640,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=350,top=150,screenX=350,screenY=150');\n\tsmwin.focus();\n\treturn
|
51
|
+
false;\n}\n\nfunction smallwin( form ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form='+form\n\n\tsmwin
|
52
|
+
= window.open(url,'SpecsOnline','width=500,height=440,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tsmwin.focus();\n\treturn
|
53
|
+
false;\n}\n\nfunction rladdcart( upc ) \n{\n\tvar url = \"/cgi-bin/rlshowcart?upc=\"+upc\n\tvar
|
54
|
+
doreg = ''\n/*\n\tdoreg = loadreg();\n\tif ( doreg == 'register' )\n url
|
55
|
+
= '/cgi-bin/cartreg?upc='+upc;\t\n*/\n\tcartwin = window.open(url,\"ShoppingCart\",'width=600,height=480,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tcartwin.focus();\n\treturn
|
56
|
+
false;\n}\nfunction addcart( upc ) \n{\n\tvar url = \"/cgi-bin/showcart?upc=\"+upc\n\tvar
|
57
|
+
doreg = ''\n/*\n\tdoreg = loadreg();\n\tif ( doreg == 'register' )\n url
|
58
|
+
= '/cgi-bin/cartreg?upc='+upc;\t\n*/\n\tcartwin = window.open(url,'ShoppingCart','width=600,height=480,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tcartwin.focus();\n\treturn
|
59
|
+
false;\n}\n\nfunction showsyn ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showsyn&upc='+upc\n\tsynwin
|
60
|
+
= window.open(url,'Synopsis','width=500,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tsynwin.focus();\n\treturn
|
61
|
+
false;\n}\n\nfunction showpic ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showpic&upc='+upc\n\tpicwin
|
62
|
+
= window.open(url,'Picture','title=no,width=200,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=no,toolbar=no,resizable=yes,left=250,top=250,screenX=250,screenY=250');\n\tpicwin.focus();\n\treturn
|
63
|
+
false;\n}\n\nfunction showpic2( upc )\n{\n\tvar x, y;\n\tvar divname = 'PicDiv';\n\tvar
|
64
|
+
imgsrc1 = '/prodpics/'+upc+'.jpg';\n\tvar imgsrc2 = '/images/close.jpg';\n/*\n\tx
|
65
|
+
= 200;\n\ty = 0;\n\tdocument.getElementById(divname).style.left = x;\n\tdocument.getElementById(divname).style.top
|
66
|
+
= y;\n*/\n\tdocument.getElementById(divname).innerHTML = \"<img id=PicImage
|
67
|
+
src=\\\"\" + imgsrc1 + \"\\\" onclick=hidepic() >\" + \"<img id=PicClose src=\\\"\"
|
68
|
+
+ imgsrc2 + \"\\\" onclick=hidepic() >\";\n\tdocument.getElementById(divname).style.display=
|
69
|
+
\"block\";\n\treturn false;\n}\n\nfunction hidekey()\n{\n\tvar divname = 'KeyDiv';\n\tdocument.getElementById(divname).innerHTML
|
70
|
+
= \"\";\n\tdocument.getElementById(divname).style.display = \"none\";\n\treturn
|
71
|
+
false;\n}\n\nfunction hidepic()\n{\n\tvar divname = 'PicDiv';\n\tdocument.getElementById(divname).innerHTML
|
72
|
+
= \"\";\n\tdocument.getElementById(divname).style.display = \"none\";\n\treturn
|
73
|
+
false;\n}\n\nfunction showkey ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showkey&upc='+upc\n\tskeywin
|
74
|
+
= window.open(url,'KeyInfo','width=500,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=250,screenX=150,screenY=250');\n\tskeywin.focus();\n\treturn
|
75
|
+
false;\n}\n\nfunction showkey2( upc )\n{\nvar url = '/cgi-bin/pleasewait?Form=showkey&upc='+upc\n\tvar
|
76
|
+
x, y;\n\tvar divname = 'KeyDiv';\n\tvar imgsrc1 = '/prodpics/'+upc+'.jpg';\n\tvar
|
77
|
+
imgsrc2 = '/images/close.jpg';\n\tx = 125;\n\ty = 100;\n\tdocument.getElementById(divname).style.left
|
78
|
+
= x;\n\tdocument.getElementById(divname).style.top = y;\n\tdocument.getElementById(divname).innerHTML
|
79
|
+
= \"<iframe width=500 height=200 id=KeyURL src=\\\"\"+url+\"\\\" onclick=hidekey()
|
80
|
+
>\";\n\tdocument.getElementById(divname).style.display= \"block\";\n\treturn
|
81
|
+
false;\n}\n\t\nfunction showavail ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showavail&upc='+upc\n\tskeywin
|
82
|
+
= window.open(url,'KeyInfo','width=540,height=500,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=250,top=150,screenX=250,screenY=150');\n\tskeywin.focus();\n\treturn
|
83
|
+
false;\n}\n\nfunction showavail2 ( upc ) \n{\n\tvar url = '/cgi-bin/showavail&upc='+upc\n\tvar
|
84
|
+
x, y;\n\tvar divname = 'KeyDiv';\n\tx = 125;\n\ty = 100;\n\tdocument.getElementById(divname).style.left
|
85
|
+
= x;\n\tdocument.getElementById(divname).style.top = y;\n\tdocument.getElementById(divname).innerHTML
|
86
|
+
= \"<iframe width=500 height=400 id=AvlURL src=\\\"\"+url+\"\\\" onmouseleave=hidekey()
|
87
|
+
>\";\n\tdocument.getElementById(divname).style.display= \"block\";\n\treturn
|
88
|
+
false;\n}\n\n</script>\n</HEAD>\n<BODY BGCOLOR=\"f0f0f0\" FBACKGROUND=\"/gifs/graybunny.gif\">\n<BODY
|
89
|
+
BGCOLOR=\"ffffff\" >\n\n <script>\n <!--\n // Copyright (c) 1996-1997 Tomer
|
90
|
+
Shiran. All rights reserved.\n // Permission given to use the script provided
|
91
|
+
that this notice remains as is.\n // Additional scripts can be found at http://www.geocities.com/~yehuda/\n\n
|
92
|
+
// Boolean variable specified if alert should be displayed if cookie exceeds
|
93
|
+
4KB\n var caution = false\n\n // name - name of the cookie\n // value - value
|
94
|
+
of the cookie\n // [expires] - expiration date of the cookie (defaults to
|
95
|
+
end of current session)\n // [path] - path for which the cookie is valid (defaults
|
96
|
+
to path of calling document)\n // [domain] - domain for which the cookie is
|
97
|
+
valid (defaults to domain of calling document)\n // [secure] - Boolean value
|
98
|
+
indicating if the cookie transmission requires a secure transmission\n //
|
99
|
+
* an argument defaults when it is assigned null as a placeholder\n // * a
|
100
|
+
null placeholder is not required for trailing omitted arguments\n // * expires.toGMTString()\n
|
101
|
+
function setCookie(name, value, expires, path, domain, secure) {\n var curCookie
|
102
|
+
= name + \"=\" + escape(value) +\n// *; expires=Saturday, 31-Dec-50 23:59:59
|
103
|
+
GMT; path=/\"\n ((expires) ? \"; expires=\" + expires.toGMTString() : \"\")
|
104
|
+
+\n ((path) ? \"; path=\" + path : \"/\") +\n ((domain) ? \"; domain=\" +
|
105
|
+
domain : \"\") +\n ((secure) ? \"; secure\" : \"0\")\n //*if (!caution ||
|
106
|
+
(name + \"=\" + escape(value)).length <= 4000)\n document.cookie = curCookie\n
|
107
|
+
//*else\n //*if (confirm(\"Cookie exceeds 4KB and will be cut!\"))\n //*document.cookie
|
108
|
+
= curCookie\n }\n\n // \"; expires=Thu, 02 Aug 2008 19:56:50 GMT\" +\n //
|
109
|
+
name - name of the desired cookie\n // * return string containing value of
|
110
|
+
specified cookie or null if cookie does not exist\n function getCookie(name)
|
111
|
+
{\n var prefix = name + \"=\"\n var cookieStartIndex = document.cookie.indexOf(prefix)\n
|
112
|
+
if (cookieStartIndex == -1)\n return null\n var cookieEndIndex = document.cookie.indexOf(\";\",
|
113
|
+
cookieStartIndex + prefix.length)\n if (cookieEndIndex == -1)\n cookieEndIndex
|
114
|
+
= document.cookie.length\n return unescape(document.cookie.substring(cookieStartIndex
|
115
|
+
+ prefix.length, cookieEndIndex))\n }\n\n // name - name of the cookie\n //
|
116
|
+
[path] - path of the cookie (must be same as path used to create cookie)\n
|
117
|
+
// [domain] - domain of the cookie (must be same as domain used to create
|
118
|
+
cookie)\n // * path and domain default if assigned null or omitted if no explicit
|
119
|
+
argument proceeds\n function deleteCookie(name, path, domain) {\n if (getCookie(name))
|
120
|
+
{\n document.cookie = name + \"=\" + \n ((path) ? \"; path=\" + path : \"/\")
|
121
|
+
+\n ((domain) ? \"; domain=\" + domain : \"\") +\n \"; expires=Thu, 01-Jan-70
|
122
|
+
00:00:01 GMT\"\n }\n }\n\n // date - any instance of the Date object\n //
|
123
|
+
* you should hand all instances of the Date object to this function for \"repairs\"\n
|
124
|
+
// * this function is taken from Chapter 14, \"Time and Date in JavaScript\",
|
125
|
+
in \"Learn Advanced JavaScript Programming\"\n function fixDate(date) {\n
|
126
|
+
var base = new Date(0)\n var skew = base.getTime()\n if (skew > 0)\n date.setTime(date.getTime()
|
127
|
+
- skew)\n }\n \n var now = new Date()\n fixDate(now)\n now.setTime(now.getTime()
|
128
|
+
+ 31 * 24 * 60 * 60 * 1000)\n var name = getCookie(\"specsonline\")\n if (!name){\n
|
129
|
+
\ name = '1'+now.getTime()\n //* document.write( '<META HTTP-EQUIV=\"Set-Cookie\"
|
130
|
+
CONTENT=\"specsonline='+nane+' ; expires=Saturday, 31-Dec-50 23:59:59 GMT;
|
131
|
+
path=/\">' )\n //*setCookie(\"specsonline\", name, now)\n}\n //document.write(\"id:
|
132
|
+
\" + name )\n //-->\n </script>\n<div id=PicDiv>\n</div>\n<div id=KeyDiv>\n</div>\n<font
|
133
|
+
FACE=\"Arial, helvetica\" SIZE=\"+0\" COLOR=\"#000000\" >\n</ul>\n<FORM action=/cgi-bin/search
|
134
|
+
>\n<b><center> 0 items in current selection. </center></b>\n</FORM>\n<hr>\nReceive
|
135
|
+
an Additional 5% Discount for Cash Payment. Prices and Vintages subject to
|
136
|
+
change.\n<BR><font color=f00000>All Availability and Pricing is at the Smith
|
137
|
+
street location. Availability and prices may vary by location.</font>\n</CENTER>\n<p>\n<B>\n<STYLE
|
138
|
+
TYPE=\"text/css\">\n{font-family: Arial;}\ninput {font-family: Arial;font-size:
|
139
|
+
9;}\nselect {font-family: Arial;font-size: 9;}\ntd {font-family: Arial; font-size:
|
140
|
+
11;}\n.resize {\nwidth: 120px;\nheight : auto;\n}\n\n.resize {\nwidth: auto;\nheight
|
141
|
+
: 100px;\n}\n#KeyDiv {\ndisplay: none;\nposition: fixed;\nborder:4px solid
|
142
|
+
grey;\nbackground-color: grey;\nz-index:1;\n}\n#KeyURL {\nborder:10 solid
|
143
|
+
white;\nposition: relative;\nfloat: left;\n}\n#PicDiv {\ndisplay: none;\nposition:
|
144
|
+
fixed;\ntop:50px;\nleft:150px;\nMax-Height:400px;\nz-index:2;\n}\n#PicImage
|
145
|
+
{\nborder:24px solid white;\nposition: relative;\nMax-Height:400px;\nfloat:
|
146
|
+
left;\n}\n#PicClose {\nposition: relative;\nfloat: left;\nopacity: .5;\nleft:
|
147
|
+
-75px;\ntop: 5px;\nz-index:2;\n}\n</STYLE>\n<TABLE WIDTH=98% CELLPADDING=0
|
148
|
+
CELLSPACING=0><TR>\n</TABLE>\n</B>\n</ul>\n"
|
149
|
+
http_version:
|
150
|
+
recorded_at: Sun, 23 Nov 2014 18:26:01 GMT
|
151
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,251 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://www.specsonline.com/cgi-bin/search?Sortby=Name&inclass=Liquors&keyword=balvenie&noask=noask&origin=&pageid=search&pricefrom=&pricethru=®ion=&showmax=1000&size=&subclass=&submit=Click%20to%20Show%20More&webclass=Liquors
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML,
|
12
|
+
like Gecko) Chrome/38.0.2125.122 Safari/537.36
|
13
|
+
Dnt:
|
14
|
+
- '1'
|
15
|
+
Accept-Language:
|
16
|
+
- en-US,en;q=0.8
|
17
|
+
Accept:
|
18
|
+
- text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
|
19
|
+
Referer:
|
20
|
+
- http://www.specsonline.com/cgi-bin/search?keyword=&inclass=Liquors&webclass=Liquors&subclass=130&origin=®ion=&size=&Sortby=Name&pricefrom=&pricethru=&
|
21
|
+
Connection:
|
22
|
+
- keep-alive
|
23
|
+
response:
|
24
|
+
status:
|
25
|
+
code: 200
|
26
|
+
message: OK
|
27
|
+
headers:
|
28
|
+
Date:
|
29
|
+
- Sun, 23 Nov 2014 18:26:01 GMT
|
30
|
+
Content-Type:
|
31
|
+
- text/html
|
32
|
+
Transfer-Encoding:
|
33
|
+
- chunked
|
34
|
+
Connection:
|
35
|
+
- keep-alive
|
36
|
+
Keep-Alive:
|
37
|
+
- timeout=5
|
38
|
+
Vary:
|
39
|
+
- Accept-Encoding
|
40
|
+
Server:
|
41
|
+
- ''
|
42
|
+
Content-Encoding:
|
43
|
+
- gzip
|
44
|
+
body:
|
45
|
+
encoding: UTF-8
|
46
|
+
string: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 3.0//EN\" \"html.dtd\">\n<HTML>\n<HEAD>\n<META
|
47
|
+
HTTP-EQUIV=\"Set-Cookie\" CONTENT=\"specsonline=11416767378204.128.208.187;
|
48
|
+
expires=Saturday, 31-Dec-50 23:59:59 GMT; path=/\">\n<TITLE>cart </TITLE>\n<script
|
49
|
+
language=\"JavaScript\">\nvar cartwin;\n\nfunction ordwin( form ) \n{\n\tvar
|
50
|
+
url = form;\n\n\tsmwin = window.open(url,'orderhist','width=600,height=640,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=350,top=150,screenX=350,screenY=150');\n\tsmwin.focus();\n\treturn
|
51
|
+
false;\n}\n\nfunction smallwin( form ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form='+form\n\n\tsmwin
|
52
|
+
= window.open(url,'SpecsOnline','width=500,height=440,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tsmwin.focus();\n\treturn
|
53
|
+
false;\n}\n\nfunction rladdcart( upc ) \n{\n\tvar url = \"/cgi-bin/rlshowcart?upc=\"+upc\n\tvar
|
54
|
+
doreg = ''\n/*\n\tdoreg = loadreg();\n\tif ( doreg == 'register' )\n url
|
55
|
+
= '/cgi-bin/cartreg?upc='+upc;\t\n*/\n\tcartwin = window.open(url,\"ShoppingCart\",'width=600,height=480,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tcartwin.focus();\n\treturn
|
56
|
+
false;\n}\nfunction addcart( upc ) \n{\n\tvar url = \"/cgi-bin/showcart?upc=\"+upc\n\tvar
|
57
|
+
doreg = ''\n/*\n\tdoreg = loadreg();\n\tif ( doreg == 'register' )\n url
|
58
|
+
= '/cgi-bin/cartreg?upc='+upc;\t\n*/\n\tcartwin = window.open(url,'ShoppingCart','width=600,height=480,alwaysRaised=yes,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tcartwin.focus();\n\treturn
|
59
|
+
false;\n}\n\nfunction showsyn ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showsyn&upc='+upc\n\tsynwin
|
60
|
+
= window.open(url,'Synopsis','width=500,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=150,screenX=150,screenY=150');\n\tsynwin.focus();\n\treturn
|
61
|
+
false;\n}\n\nfunction showpic ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showpic&upc='+upc\n\tpicwin
|
62
|
+
= window.open(url,'Picture','title=no,width=200,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=no,toolbar=no,resizable=yes,left=250,top=250,screenX=250,screenY=250');\n\tpicwin.focus();\n\treturn
|
63
|
+
false;\n}\n\nfunction showpic2( upc )\n{\n\tvar x, y;\n\tvar divname = 'PicDiv';\n\tvar
|
64
|
+
imgsrc1 = '/prodpics/'+upc+'.jpg';\n\tvar imgsrc2 = '/images/close.jpg';\n/*\n\tx
|
65
|
+
= 200;\n\ty = 0;\n\tdocument.getElementById(divname).style.left = x;\n\tdocument.getElementById(divname).style.top
|
66
|
+
= y;\n*/\n\tdocument.getElementById(divname).innerHTML = \"<img id=PicImage
|
67
|
+
src=\\\"\" + imgsrc1 + \"\\\" onclick=hidepic() >\" + \"<img id=PicClose src=\\\"\"
|
68
|
+
+ imgsrc2 + \"\\\" onclick=hidepic() >\";\n\tdocument.getElementById(divname).style.display=
|
69
|
+
\"block\";\n\treturn false;\n}\n\nfunction hidekey()\n{\n\tvar divname = 'KeyDiv';\n\tdocument.getElementById(divname).innerHTML
|
70
|
+
= \"\";\n\tdocument.getElementById(divname).style.display = \"none\";\n\treturn
|
71
|
+
false;\n}\n\nfunction hidepic()\n{\n\tvar divname = 'PicDiv';\n\tdocument.getElementById(divname).innerHTML
|
72
|
+
= \"\";\n\tdocument.getElementById(divname).style.display = \"none\";\n\treturn
|
73
|
+
false;\n}\n\nfunction showkey ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showkey&upc='+upc\n\tskeywin
|
74
|
+
= window.open(url,'KeyInfo','width=500,height=200,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=150,top=250,screenX=150,screenY=250');\n\tskeywin.focus();\n\treturn
|
75
|
+
false;\n}\n\nfunction showkey2( upc )\n{\nvar url = '/cgi-bin/pleasewait?Form=showkey&upc='+upc\n\tvar
|
76
|
+
x, y;\n\tvar divname = 'KeyDiv';\n\tvar imgsrc1 = '/prodpics/'+upc+'.jpg';\n\tvar
|
77
|
+
imgsrc2 = '/images/close.jpg';\n\tx = 125;\n\ty = 100;\n\tdocument.getElementById(divname).style.left
|
78
|
+
= x;\n\tdocument.getElementById(divname).style.top = y;\n\tdocument.getElementById(divname).innerHTML
|
79
|
+
= \"<iframe width=500 height=200 id=KeyURL src=\\\"\"+url+\"\\\" onclick=hidekey()
|
80
|
+
>\";\n\tdocument.getElementById(divname).style.display= \"block\";\n\treturn
|
81
|
+
false;\n}\n\t\nfunction showavail ( upc ) \n{\n\tvar url = '/cgi-bin/pleasewait?Form=showavail&upc='+upc\n\tskeywin
|
82
|
+
= window.open(url,'KeyInfo','width=540,height=500,directories=no,location=no,menubar=no,status=no,scrollbars=yes,toolbar=no,resizable=no,left=250,top=150,screenX=250,screenY=150');\n\tskeywin.focus();\n\treturn
|
83
|
+
false;\n}\n\nfunction showavail2 ( upc ) \n{\n\tvar url = '/cgi-bin/showavail&upc='+upc\n\tvar
|
84
|
+
x, y;\n\tvar divname = 'KeyDiv';\n\tx = 125;\n\ty = 100;\n\tdocument.getElementById(divname).style.left
|
85
|
+
= x;\n\tdocument.getElementById(divname).style.top = y;\n\tdocument.getElementById(divname).innerHTML
|
86
|
+
= \"<iframe width=500 height=400 id=AvlURL src=\\\"\"+url+\"\\\" onmouseleave=hidekey()
|
87
|
+
>\";\n\tdocument.getElementById(divname).style.display= \"block\";\n\treturn
|
88
|
+
false;\n}\n\n</script>\n</HEAD>\n<BODY BGCOLOR=\"f0f0f0\" FBACKGROUND=\"/gifs/graybunny.gif\">\n<BODY
|
89
|
+
BGCOLOR=\"ffffff\" >\n\n <script>\n <!--\n // Copyright (c) 1996-1997 Tomer
|
90
|
+
Shiran. All rights reserved.\n // Permission given to use the script provided
|
91
|
+
that this notice remains as is.\n // Additional scripts can be found at http://www.geocities.com/~yehuda/\n\n
|
92
|
+
// Boolean variable specified if alert should be displayed if cookie exceeds
|
93
|
+
4KB\n var caution = false\n\n // name - name of the cookie\n // value - value
|
94
|
+
of the cookie\n // [expires] - expiration date of the cookie (defaults to
|
95
|
+
end of current session)\n // [path] - path for which the cookie is valid (defaults
|
96
|
+
to path of calling document)\n // [domain] - domain for which the cookie is
|
97
|
+
valid (defaults to domain of calling document)\n // [secure] - Boolean value
|
98
|
+
indicating if the cookie transmission requires a secure transmission\n //
|
99
|
+
* an argument defaults when it is assigned null as a placeholder\n // * a
|
100
|
+
null placeholder is not required for trailing omitted arguments\n // * expires.toGMTString()\n
|
101
|
+
function setCookie(name, value, expires, path, domain, secure) {\n var curCookie
|
102
|
+
= name + \"=\" + escape(value) +\n// *; expires=Saturday, 31-Dec-50 23:59:59
|
103
|
+
GMT; path=/\"\n ((expires) ? \"; expires=\" + expires.toGMTString() : \"\")
|
104
|
+
+\n ((path) ? \"; path=\" + path : \"/\") +\n ((domain) ? \"; domain=\" +
|
105
|
+
domain : \"\") +\n ((secure) ? \"; secure\" : \"0\")\n //*if (!caution ||
|
106
|
+
(name + \"=\" + escape(value)).length <= 4000)\n document.cookie = curCookie\n
|
107
|
+
//*else\n //*if (confirm(\"Cookie exceeds 4KB and will be cut!\"))\n //*document.cookie
|
108
|
+
= curCookie\n }\n\n // \"; expires=Thu, 02 Aug 2008 19:56:50 GMT\" +\n //
|
109
|
+
name - name of the desired cookie\n // * return string containing value of
|
110
|
+
specified cookie or null if cookie does not exist\n function getCookie(name)
|
111
|
+
{\n var prefix = name + \"=\"\n var cookieStartIndex = document.cookie.indexOf(prefix)\n
|
112
|
+
if (cookieStartIndex == -1)\n return null\n var cookieEndIndex = document.cookie.indexOf(\";\",
|
113
|
+
cookieStartIndex + prefix.length)\n if (cookieEndIndex == -1)\n cookieEndIndex
|
114
|
+
= document.cookie.length\n return unescape(document.cookie.substring(cookieStartIndex
|
115
|
+
+ prefix.length, cookieEndIndex))\n }\n\n // name - name of the cookie\n //
|
116
|
+
[path] - path of the cookie (must be same as path used to create cookie)\n
|
117
|
+
// [domain] - domain of the cookie (must be same as domain used to create
|
118
|
+
cookie)\n // * path and domain default if assigned null or omitted if no explicit
|
119
|
+
argument proceeds\n function deleteCookie(name, path, domain) {\n if (getCookie(name))
|
120
|
+
{\n document.cookie = name + \"=\" + \n ((path) ? \"; path=\" + path : \"/\")
|
121
|
+
+\n ((domain) ? \"; domain=\" + domain : \"\") +\n \"; expires=Thu, 01-Jan-70
|
122
|
+
00:00:01 GMT\"\n }\n }\n\n // date - any instance of the Date object\n //
|
123
|
+
* you should hand all instances of the Date object to this function for \"repairs\"\n
|
124
|
+
// * this function is taken from Chapter 14, \"Time and Date in JavaScript\",
|
125
|
+
in \"Learn Advanced JavaScript Programming\"\n function fixDate(date) {\n
|
126
|
+
var base = new Date(0)\n var skew = base.getTime()\n if (skew > 0)\n date.setTime(date.getTime()
|
127
|
+
- skew)\n }\n \n var now = new Date()\n fixDate(now)\n now.setTime(now.getTime()
|
128
|
+
+ 31 * 24 * 60 * 60 * 1000)\n var name = getCookie(\"specsonline\")\n if (!name){\n
|
129
|
+
\ name = '1'+now.getTime()\n //* document.write( '<META HTTP-EQUIV=\"Set-Cookie\"
|
130
|
+
CONTENT=\"specsonline='+nane+' ; expires=Saturday, 31-Dec-50 23:59:59 GMT;
|
131
|
+
path=/\">' )\n //*setCookie(\"specsonline\", name, now)\n}\n //document.write(\"id:
|
132
|
+
\" + name )\n //-->\n </script>\n<div id=PicDiv>\n</div>\n<div id=KeyDiv>\n</div>\n<font
|
133
|
+
FACE=\"Arial, helvetica\" SIZE=\"+0\" COLOR=\"#000000\" >\n</ul>\n<FORM action=/cgi-bin/search
|
134
|
+
>\n<b><center> 10 items in current selection. </center></b>\n</FORM>\n<hr>\nReceive
|
135
|
+
an Additional 5% Discount for Cash Payment. Prices and Vintages subject to
|
136
|
+
change.\n<BR><font color=f00000>All Availability and Pricing is at the Smith
|
137
|
+
street location. Availability and prices may vary by location.</font>\n</CENTER>\n<p>\n<B>\n<STYLE
|
138
|
+
TYPE=\"text/css\">\n{font-family: Arial;}\ninput {font-family: Arial;font-size:
|
139
|
+
9;}\nselect {font-family: Arial;font-size: 9;}\ntd {font-family: Arial; font-size:
|
140
|
+
11;}\n.resize {\nwidth: 120px;\nheight : auto;\n}\n\n.resize {\nwidth: auto;\nheight
|
141
|
+
: 100px;\n}\n#KeyDiv {\ndisplay: none;\nposition: fixed;\nborder:4px solid
|
142
|
+
grey;\nbackground-color: grey;\nz-index:1;\n}\n#KeyURL {\nborder:10 solid
|
143
|
+
white;\nposition: relative;\nfloat: left;\n}\n#PicDiv {\ndisplay: none;\nposition:
|
144
|
+
fixed;\ntop:50px;\nleft:150px;\nMax-Height:400px;\nz-index:2;\n}\n#PicImage
|
145
|
+
{\nborder:24px solid white;\nposition: relative;\nMax-Height:400px;\nfloat:
|
146
|
+
left;\n}\n#PicClose {\nposition: relative;\nfloat: left;\nopacity: .5;\nleft:
|
147
|
+
-75px;\ntop: 5px;\nz-index:2;\n}\n</STYLE>\n<TABLE WIDTH=98% CELLPADDING=0
|
148
|
+
CELLSPACING=0><TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR VALIGN=TOP><TD><div
|
149
|
+
style=max-width:120px;overflow:hidden;><IMG class=resize SRC=/prodpics/008366487306.jpg
|
150
|
+
BORDER=0 onmouseout=hidepic() onmousemove=showpic2('008366487306')></div></TD><TD
|
151
|
+
WIDTH=50%>BALVENIE MALT * 12YR SINGLE BARREL 6/CS [SCOTLAND]<br><br><CENTER><FONT
|
152
|
+
style='font-family:Trebuchet MS;font-size:10;color:b0b0b0;font-weight:bold;'
|
153
|
+
></FONT></CENTER></TD><TD WIDTH=50 ALIGN=LEFT> 750ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case
|
154
|
+
[6]</TD><TD WIDTH=40 ALIGN=RIGHT> 72.41<br> 386.65</TD></TD><TD ALIGN=RIGHT
|
155
|
+
WIDTH=40 VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=1 HREF=#
|
156
|
+
onclick=\"addcart('008366487306');return false;\"><IMG SRC=/gifs/ctext.png
|
157
|
+
BORDER=0></A><br><br><br><A NAME=1 HREF=# onclick=\"showavail('008366487306');return
|
158
|
+
false\"><IMG SRC=/gifs/checkavail.png BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR
|
159
|
+
VALIGN=TOP><TD><div style=max-width:120px;overflow:hidden;><IMG class=resize
|
160
|
+
SRC=/prodpics/008366411221.jpg BORDER=0 onmouseout=hidepic() onmousemove=showpic2('008366411221')></div></TD><TD
|
161
|
+
WIDTH=50%>BALVENIE MALT * 12YR DOUBLEWOOD [SCOTLAND]<br><br><CENTER><FONT
|
162
|
+
style='font-family:Trebuchet MS;font-size:10;color:b0b0b0;font-weight:bold;'
|
163
|
+
>AMBER COLOUR. NOSE SHERRY AND ORANGE SKINS. MEDIUM RICH BODY. PALATE BEAUTIFULLY
|
164
|
+
COMBINED FLAVOURS; NUTTY SWEET SHERRY ORANGERY FRUITINESS AND CINNAMON SPICINESS.
|
165
|
+
FINISH LONG TINGLING WARM.</FONT></CENTER></TD><TD WIDTH=50 ALIGN=LEFT> 750ML</TD><TD
|
166
|
+
WIDTH=60 ALIGN=LEFT>Each<br>Case [12]</TD><TD WIDTH=40 ALIGN=RIGHT> 51.99<br>
|
167
|
+
576.13</TD></TD><TD ALIGN=RIGHT WIDTH=40 VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD
|
168
|
+
WIDTH=80><A NAME=2 HREF=# onclick=\"addcart('008366411221');return false;\"><IMG
|
169
|
+
SRC=/gifs/ctext.png BORDER=0></A><br><br><br><A NAME=2 HREF=# onclick=\"showavail('008366411221');return
|
170
|
+
false\"><IMG SRC=/gifs/checkavail.png BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR
|
171
|
+
VALIGN=TOP><TD><IMG SRC=/prodpics/NOPIC.jpg WIDTH=100 onmouseover=hidepic()></TD><TD
|
172
|
+
WIDTH=50%>BALVENIE MALT * 14 YR CARIBBEAN CASK [SCOTLAND]<br><br><CENTER><FONT
|
173
|
+
style='font-family:Trebuchet MS;font-size:10;color:b0b0b0;font-weight:bold;'
|
174
|
+
></FONT></CENTER></TD><TD WIDTH=50 ALIGN=LEFT> 750ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case
|
175
|
+
[6]</TD><TD WIDTH=40 ALIGN=RIGHT> 70.31<br> 375.41</TD></TD><TD ALIGN=RIGHT
|
176
|
+
WIDTH=40 VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=3 HREF=#
|
177
|
+
onclick=\"addcart('008366487168');return false;\"><IMG SRC=/gifs/ctext.png
|
178
|
+
BORDER=0></A><br><br><br><A NAME=3 HREF=# onclick=\"showavail('008366487168');return
|
179
|
+
false\"><IMG SRC=/gifs/checkavail.png BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR
|
180
|
+
VALIGN=TOP><TD><IMG SRC=/prodpics/NOPIC.jpg WIDTH=100 onmouseover=hidepic()></TD><TD
|
181
|
+
WIDTH=50%>BALVENIE MALT * 15YR SHERRY CASK 6/CS [SCOTLAND]<br><br><CENTER><FONT
|
182
|
+
style='font-family:Trebuchet MS;font-size:10;color:b0b0b0;font-weight:bold;'
|
183
|
+
></FONT></CENTER></TD><TD WIDTH=50 ALIGN=LEFT> 750ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case
|
184
|
+
[6]</TD><TD WIDTH=40 ALIGN=RIGHT> 96.83<br> 517.07</TD></TD><TD ALIGN=RIGHT
|
185
|
+
WIDTH=40 VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=4 HREF=#
|
186
|
+
onclick=\"return false\"><IMG SRC=/gifs/limited.png BORDER=0></A><br><br><br><A
|
187
|
+
NAME=4 HREF=# onclick=\"showavail('008366487319');return false\"><IMG SRC=/gifs/checkavail.png
|
188
|
+
BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR VALIGN=TOP><TD><div
|
189
|
+
style=max-width:120px;overflow:hidden;><IMG class=resize SRC=/prodpics/008366411223.jpg
|
190
|
+
BORDER=0 onmouseout=hidepic() onmousemove=showpic2('008366411223')></div></TD><TD
|
191
|
+
WIDTH=50%>BALVENIE MALT * 15YR SINGLE BARREL [SCOTLAND]<br><br><CENTER><FONT
|
192
|
+
style='font-family:Trebuchet MS;font-size:10;color:b0b0b0;font-weight:bold;'
|
193
|
+
>PALE GOLD COLOUR. NOSE; ASSERTIVE DRY OAK CEDAR HEATHER-HONEY. FIRM BODIED.
|
194
|
+
PALATE; LIVELY. ORANGE- SKINS SWEETNESS AND TARTNESS. FINISH; CINNAMON GINGER
|
195
|
+
PEPPER. THIS POTENT SINGLE BARREL IS FOR THE CUSTOMER SEEKING A UNIQUE AND
|
196
|
+
VARIABLE SELECTION WITH PLENTY OF COMPLEXITY</FONT></CENTER></TD><TD WIDTH=50
|
197
|
+
ALIGN=LEFT> 750ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case [12]</TD><TD WIDTH=40
|
198
|
+
ALIGN=RIGHT> 96.83<br>1034.15</TD></TD><TD ALIGN=RIGHT WIDTH=40 VALIGN=TOP><IMG
|
199
|
+
SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=5 HREF=# onclick=\"return false\"><IMG
|
200
|
+
SRC=/gifs/limited.png BORDER=0></A><br><br><br><A NAME=5 HREF=# onclick=\"showavail('008366411223');return
|
201
|
+
false\"><IMG SRC=/gifs/checkavail.png BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR
|
202
|
+
VALIGN=TOP><TD><IMG SRC=/prodpics/NOPIC.jpg WIDTH=100 onmouseover=hidepic()></TD><TD
|
203
|
+
WIDTH=50%>BALVENIE MALT * 17YR DOUBLEWOOD 6/CS [SCOTLAND]<br><br><CENTER><FONT
|
204
|
+
style='font-family:Trebuchet MS;font-size:10;color:b0b0b0;font-weight:bold;'
|
205
|
+
></FONT></CENTER></TD><TD WIDTH=50 ALIGN=LEFT> 750ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case
|
206
|
+
[6]</TD><TD WIDTH=40 ALIGN=RIGHT> 148.31<br> 791.94</TD></TD><TD ALIGN=RIGHT
|
207
|
+
WIDTH=40 VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=6 HREF=#
|
208
|
+
onclick=\"addcart('008366487300');return false;\"><IMG SRC=/gifs/ctext.png
|
209
|
+
BORDER=0></A><br><br><br><A NAME=6 HREF=# onclick=\"showavail('008366487300');return
|
210
|
+
false\"><IMG SRC=/gifs/checkavail.png BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR
|
211
|
+
VALIGN=TOP><TD><IMG SRC=/prodpics/NOPIC.jpg WIDTH=100 onmouseover=hidepic()></TD><TD
|
212
|
+
WIDTH=50%>BALVENIE MALT * 17YR PEATED [SCOTLAND]<br><br><CENTER><FONT style='font-family:Trebuchet
|
213
|
+
MS;font-size:10;color:b0b0b0;font-weight:bold;' ></FONT></CENTER></TD><TD
|
214
|
+
WIDTH=50 ALIGN=LEFT> 750ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case [6]</TD><TD
|
215
|
+
WIDTH=40 ALIGN=RIGHT> 127.36<br> 680.08</TD></TD><TD ALIGN=RIGHT WIDTH=40
|
216
|
+
VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=7 HREF=# onclick=\"return
|
217
|
+
false\"><IMG SRC=/gifs/limited.png BORDER=0></A><br><br><br><A NAME=7 HREF=#
|
218
|
+
onclick=\"showavail('008366487170');return false\"><IMG SRC=/gifs/checkavail.png
|
219
|
+
BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR VALIGN=TOP><TD><div
|
220
|
+
style=max-width:120px;overflow:hidden;><IMG class=resize SRC=/prodpics/008366485841.jpg
|
221
|
+
BORDER=0 onmouseout=hidepic() onmousemove=showpic2('008366485841')></div></TD><TD
|
222
|
+
WIDTH=50%>BALVENIE MALT * 21YR PORTWOOD 6/CS [SCOTLAND]<br><br><CENTER><FONT
|
223
|
+
style='font-family:Trebuchet MS;font-size:10;color:b0b0b0;font-weight:bold;'
|
224
|
+
></FONT></CENTER></TD><TD WIDTH=50 ALIGN=LEFT> 750ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case
|
225
|
+
[6]</TD><TD WIDTH=40 ALIGN=RIGHT> 232.99<br>1244.15</TD></TD><TD ALIGN=RIGHT
|
226
|
+
WIDTH=40 VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=8 HREF=#
|
227
|
+
onclick=\"return false\"><IMG SRC=/gifs/limited.png BORDER=0></A><br><br><br><A
|
228
|
+
NAME=8 HREF=# onclick=\"showavail('008366485841');return false\"><IMG SRC=/gifs/checkavail.png
|
229
|
+
BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR VALIGN=TOP><TD><div
|
230
|
+
style=max-width:120px;overflow:hidden;><IMG class=resize SRC=/prodpics/008366499034.jpg
|
231
|
+
BORDER=0 onmouseout=hidepic() onmousemove=showpic2('008366499034')></div></TD><TD
|
232
|
+
WIDTH=50%>BALVENIE MALT * 30YR 3/CS [SCOTLAND]<br><br><CENTER><FONT style='font-family:Trebuchet
|
233
|
+
MS;font-size:10;color:b0b0b0;font-weight:bold;' ></FONT></CENTER></TD><TD
|
234
|
+
WIDTH=50 ALIGN=LEFT> 750ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case [3]</TD><TD
|
235
|
+
WIDTH=40 ALIGN=RIGHT> 823.99<br>2200.04</TD></TD><TD ALIGN=RIGHT WIDTH=40
|
236
|
+
VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=9 HREF=# onclick=\"return
|
237
|
+
false\"><IMG SRC=/gifs/limited.png BORDER=0></A><br><br><br><A NAME=9 HREF=#
|
238
|
+
onclick=\"showavail('008366499034');return false\"><IMG SRC=/gifs/checkavail.png
|
239
|
+
BORDER=0></A></TD></TR>\n<TR><TD COLSPAN=8><HR></TD></TR>\n<TR VALIGN=TOP><TD><IMG
|
240
|
+
SRC=/prodpics/NOPIC.jpg WIDTH=100 onmouseover=hidepic()></TD><TD WIDTH=50%>BALVENIE
|
241
|
+
MALT * 50ML TRIO PACK [SCOTLAND]<br><br><CENTER><FONT style='font-family:Trebuchet
|
242
|
+
MS;font-size:10;color:b0b0b0;font-weight:bold;' ></FONT></CENTER></TD><TD
|
243
|
+
WIDTH=50 ALIGN=LEFT> 50ML</TD><TD WIDTH=60 ALIGN=LEFT>Each<br>Case [32]</TD><TD
|
244
|
+
WIDTH=40 ALIGN=RIGHT> 25.99<br> 538.27</TD></TD><TD ALIGN=RIGHT WIDTH=40
|
245
|
+
VALIGN=TOP><IMG SRC=/gifs/blank.gif></TD><TD WIDTH=80><A NAME=10 HREF=# onclick=\"addcart('008366411224');return
|
246
|
+
false;\"><IMG SRC=/gifs/ctext.png BORDER=0></A><br><br><br><A NAME=10 HREF=#
|
247
|
+
onclick=\"showavail('008366411224');return false\"><IMG SRC=/gifs/checkavail.png
|
248
|
+
BORDER=0></A></TD></TR>\n</TABLE>\n</B>\n</ul>\n"
|
249
|
+
http_version:
|
250
|
+
recorded_at: Sun, 23 Nov 2014 18:26:01 GMT
|
251
|
+
recorded_with: VCR 2.9.3
|