ikm-chromedriver-helper 0.0.8
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 +5 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +37 -0
- data/Gemfile +4 -0
- data/README.md +90 -0
- data/Rakefile +6 -0
- data/bin/chromedriver +5 -0
- data/bin/chromedriver-update +5 -0
- data/ikm-chromedriver-helper.gemspec +22 -0
- data/lib/chromedriver/helper/google_code_parser.rb +28 -0
- data/lib/chromedriver/helper/version.rb +5 -0
- data/lib/chromedriver/helper.rb +66 -0
- data/spec/assets/google-code-bucket.xml +1 -0
- data/spec/assets/google-code.html +1396 -0
- data/spec/google_code_parser_spec.rb +28 -0
- data/spec/helper_spec.rb +17 -0
- data/spec/spec_helper.rb +2 -0
- metadata +112 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 898e98c2fc33ce58694cab8b5fd70782e1ad77fd
|
4
|
+
data.tar.gz: 57c771b021c0b8de769bb78c795a72dcddc8789e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6d687cd841373f7a09413f9c2efcf5f2f6249ec4690aded1505826be1673d585493def395684930358b8ff80c3dd0023cebbf49330ee6b8eaaf6ac1d7e87ef74
|
7
|
+
data.tar.gz: cc7a3b3dacca94404394ac4d0832729719871b784a961ce632cb3258a61921f998e5c12af96d15ca7d95c926a46605140d40d8bd0d150a396c5552ac04f4b846
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
Changelog
|
2
|
+
==========
|
3
|
+
|
4
|
+
0.0.7 - 26 Aug 2014
|
5
|
+
----------
|
6
|
+
|
7
|
+
* Added support for windows binaries. (Thanks, @elementc!)
|
8
|
+
|
9
|
+
|
10
|
+
0.0.6 - 26 Aug 2014
|
11
|
+
----------
|
12
|
+
|
13
|
+
* Fixed to work with new Google download page. #7 (Thanks, @mars!)
|
14
|
+
|
15
|
+
|
16
|
+
0.0.5 - 15 Aug 2012
|
17
|
+
----------
|
18
|
+
|
19
|
+
* Fixed support for JRuby on non-Windows platforms. #4 (Thanks, Tim Olsen!)
|
20
|
+
|
21
|
+
|
22
|
+
0.0.4 - 1 Aug 2012
|
23
|
+
----------
|
24
|
+
|
25
|
+
* Including `chromedriver-update` to easily allow people to force-upgrade. #3
|
26
|
+
|
27
|
+
|
28
|
+
0.0.3 - 20 Mar 2012
|
29
|
+
----------
|
30
|
+
|
31
|
+
* Updated download URL. #2 (Thanks, Alistair Hutchison!)
|
32
|
+
|
33
|
+
|
34
|
+
0.0.2 - 6 December 2011
|
35
|
+
----------
|
36
|
+
|
37
|
+
* Birthday!
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
# chromedriver-helper
|
2
|
+
|
3
|
+
[](https://travis-ci.org/flavorjones/chromedriver-helper)
|
4
|
+
|
5
|
+
Easy installation and use of chromedriver, the Chromium project's
|
6
|
+
selenium webdriver adapter.
|
7
|
+
|
8
|
+
* [http://github.com/flavorjones/chromedriver-helper](http://github.com/flavorjones/chromedriver-helper)
|
9
|
+
|
10
|
+
|
11
|
+
# Description
|
12
|
+
|
13
|
+
`chromedriver-helper` installs an executable, `chromedriver`, in your
|
14
|
+
gem path.
|
15
|
+
|
16
|
+
This script will, if necessary, download the appropriate binary for
|
17
|
+
your platform and install it into `~/.chromedriver-helper`, then exec
|
18
|
+
it. Easy peasy!
|
19
|
+
|
20
|
+
chromedriver is fast. By my unscientific benchmark, it's around 20%
|
21
|
+
faster than webdriver + Firefox 8. You should use it!
|
22
|
+
|
23
|
+
|
24
|
+
# Usage
|
25
|
+
|
26
|
+
If you're using Bundler and Capybara, it's as easy as:
|
27
|
+
|
28
|
+
# Gemfile
|
29
|
+
gem "chromedriver-helper"
|
30
|
+
|
31
|
+
then, in your specs:
|
32
|
+
|
33
|
+
Capybara.register_driver :selenium do |app|
|
34
|
+
Capybara::Selenium::Driver.new(app, :browser => :chrome)
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
# Updating Chromedriver
|
39
|
+
|
40
|
+
If you'd like to force-upgrade to the latest version of chromedriver,
|
41
|
+
run the script `chromedriver-update` that also comes packaged with
|
42
|
+
this gem.
|
43
|
+
|
44
|
+
This might be necessary on platforms on which Chrome auto-updates,
|
45
|
+
which has been known to introduce incompatibilities with older
|
46
|
+
versions of chromedriver (see
|
47
|
+
[Issue #3](https://github.com/flavorjones/chromedriver-helper/issues/3)
|
48
|
+
for an example).
|
49
|
+
|
50
|
+
|
51
|
+
# Support
|
52
|
+
|
53
|
+
The code lives at
|
54
|
+
[http://github.com/flavorjones/chromedriver-helper](http://github.com/flavorjones/chromedriver-helper).
|
55
|
+
Open a Github Issue, or send a pull request! Thanks! You're the best.
|
56
|
+
|
57
|
+
|
58
|
+
# License
|
59
|
+
|
60
|
+
(The MIT License)
|
61
|
+
|
62
|
+
Copyright (c) 2011: [Mike Dalessio](http://mike.daless.io)
|
63
|
+
|
64
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
65
|
+
a copy of this software and associated documentation files (the
|
66
|
+
'Software'), to deal in the Software without restriction, including
|
67
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
68
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
69
|
+
permit persons to whom the Software is furnished to do so, subject to
|
70
|
+
the following conditions:
|
71
|
+
|
72
|
+
The above copyright notice and this permission notice shall be
|
73
|
+
included in all copies or substantial portions of the Software.
|
74
|
+
|
75
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
76
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
77
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
78
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
79
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
80
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
81
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
82
|
+
|
83
|
+
# Credit
|
84
|
+
|
85
|
+
The idea for this gem comes from @brianhempel's project
|
86
|
+
`chromedriver-gem` which, despite the name, is not currently published
|
87
|
+
on http://rubygems.org/.
|
88
|
+
|
89
|
+
Some improvements on the idea were taken from the installation process
|
90
|
+
for standalone Phusion Passenger.
|
data/Rakefile
ADDED
data/bin/chromedriver
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "chromedriver/helper/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "ikm-chromedriver-helper"
|
7
|
+
s.version = Chromedriver::Helper::VERSION
|
8
|
+
s.authors = ["Mike Dalessio"]
|
9
|
+
s.email = ["mike@csa.net"]
|
10
|
+
s.homepage = "https://github.com/a2ikm/chromedriver-helper"
|
11
|
+
s.summary = "Easy installation and use of chromedriver, the Chromium project's selenium webdriver adapter. Forked from chromedriver-helper."
|
12
|
+
s.description = "Easy installation and use of chromedriver, the Chromium project's selenium webdriver adapter. Forked from chromedriver-helper."
|
13
|
+
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
|
19
|
+
s.add_development_dependency "rspec", "~> 3.0"
|
20
|
+
s.add_development_dependency "rake"
|
21
|
+
s.add_runtime_dependency "nokogiri"
|
22
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
require 'open-uri'
|
3
|
+
|
4
|
+
module Chromedriver
|
5
|
+
class Helper
|
6
|
+
class GoogleCodeParser
|
7
|
+
BUCKET_URL = 'http://chromedriver.storage.googleapis.com'
|
8
|
+
|
9
|
+
attr_reader :source, :platform
|
10
|
+
|
11
|
+
def initialize(platform, open_uri_provider=OpenURI)
|
12
|
+
@platform = platform
|
13
|
+
@source = open_uri_provider.open_uri(BUCKET_URL)
|
14
|
+
end
|
15
|
+
|
16
|
+
def downloads
|
17
|
+
doc = Nokogiri::XML.parse(source)
|
18
|
+
items = doc.css("Contents Key").collect {|k| k.text }
|
19
|
+
items.reject! {|k| !(/chromedriver_#{platform}/===k) }
|
20
|
+
items.map {|k| "#{BUCKET_URL}/#{k}"}
|
21
|
+
end
|
22
|
+
|
23
|
+
def newest_download
|
24
|
+
downloads.last
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require "chromedriver/helper/version"
|
2
|
+
require "chromedriver/helper/google_code_parser"
|
3
|
+
require 'fileutils'
|
4
|
+
require 'rbconfig'
|
5
|
+
|
6
|
+
module Chromedriver
|
7
|
+
class Helper
|
8
|
+
|
9
|
+
def run *args
|
10
|
+
download
|
11
|
+
exec binary_path, *args
|
12
|
+
end
|
13
|
+
|
14
|
+
def download hit_network=false
|
15
|
+
return if File.exists?(binary_path) && ! hit_network
|
16
|
+
url = download_url
|
17
|
+
filename = File.basename url
|
18
|
+
Dir.chdir platform_install_dir do
|
19
|
+
system "rm #{filename}"
|
20
|
+
system("wget -c -O #{filename} #{url}") || system("curl -C - -o #{filename} #{url}")
|
21
|
+
raise "Could not download #{url}" unless File.exists? filename
|
22
|
+
system "unzip -o #{filename}"
|
23
|
+
end
|
24
|
+
raise "Could not unzip #{filename} to get #{binary_path}" unless File.exists? binary_path
|
25
|
+
end
|
26
|
+
|
27
|
+
def update
|
28
|
+
download true
|
29
|
+
end
|
30
|
+
|
31
|
+
def download_url
|
32
|
+
GoogleCodeParser.new(platform).newest_download
|
33
|
+
end
|
34
|
+
|
35
|
+
def binary_path
|
36
|
+
if platform == "win"
|
37
|
+
File.join platform_install_dir, "chromedriver.exe"
|
38
|
+
else
|
39
|
+
File.join platform_install_dir, "chromedriver"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def platform_install_dir
|
44
|
+
dir = File.join install_dir, platform
|
45
|
+
FileUtils.mkdir_p dir
|
46
|
+
dir
|
47
|
+
end
|
48
|
+
|
49
|
+
def install_dir
|
50
|
+
dir = File.expand_path File.join(ENV['HOME'], ".chromedriver-helper")
|
51
|
+
FileUtils.mkdir_p dir
|
52
|
+
dir
|
53
|
+
end
|
54
|
+
|
55
|
+
def platform
|
56
|
+
cfg = RbConfig::CONFIG
|
57
|
+
case cfg['host_os']
|
58
|
+
when /linux/ then
|
59
|
+
cfg['host_cpu'] =~ /x86_64|amd64/ ? "linux64" : "linux32"
|
60
|
+
when /darwin/ then "mac"
|
61
|
+
else "win"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version='1.0' encoding='UTF-8'?><ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'><Name>chromedriver</Name><Prefix></Prefix><Marker></Marker><IsTruncated>false</IsTruncated><Contents><Key>2.0/chromedriver_linux32.zip</Key><Generation>1380149859530000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:39.349Z</LastModified><ETag>"c0d96102715c4916b872f91f5bf9b12c"</ETag><Size>7262134</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.0/chromedriver_linux64.zip</Key><Generation>1380149860664000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:40.449Z</LastModified><ETag>"858ebaf47e13dce7600191ed59974c09"</ETag><Size>7433593</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.0/chromedriver_mac32.zip</Key><Generation>1380149857425000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:37.204Z</LastModified><ETag>"efc13db5afc518000d886c2bdcb3a4bc"</ETag><Size>7614601</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.0/chromedriver_win32.zip</Key><Generation>1380149858370000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:38.165Z</LastModified><ETag>"bbf8fd0fe525a06dda162619cac2b200"</ETag><Size>3048831</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.1/chromedriver_linux32.zip</Key><Generation>1380149869675000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:49.481Z</LastModified><ETag>"1d7e908253f7240d1596332082cc5742"</ETag><Size>7197760</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.1/chromedriver_linux64.zip</Key><Generation>1380149870889000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:50.738Z</LastModified><ETag>"de406b5a1aac2bfb2f419ac01d7231e2"</ETag><Size>7367074</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.1/chromedriver_mac32.zip</Key><Generation>1380149867471000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:47.251Z</LastModified><ETag>"41d718a956392c78d788eedd2e0723a5"</ETag><Size>7611294</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.1/chromedriver_win32.zip</Key><Generation>1380149868374000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:48.143Z</LastModified><ETag>"d48fd6bce0c6131caa8aad6b5b02b9aa"</ETag><Size>2961443</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.2/chromedriver_linux32.zip</Key><Generation>1380149878519000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:58.374Z</LastModified><ETag>"801b9f6c28a32575d8eae2abb1cdecd5"</ETag><Size>7252879</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.2/chromedriver_linux64.zip</Key><Generation>1380149879600000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:59.432Z</LastModified><ETag>"d5b73ee424717e45601553e91e204ad6"</ETag><Size>7417835</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.2/chromedriver_mac32.zip</Key><Generation>1380149876563000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:56.408Z</LastModified><ETag>"e904e2ed0ebcc453492a9fe0550665ee"</ETag><Size>7634565</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.2/chromedriver_win32.zip</Key><Generation>1380149877467000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:57.313Z</LastModified><ETag>"c86ce20925db2d16118559cbe6693c6f"</ETag><Size>2978752</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.3/chromedriver_linux32.zip</Key><Generation>1380149888081000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:58:07.947Z</LastModified><ETag>"f3af4d92060e6d61c2d2ed86ad584246"</ETag><Size>7310301</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.3/chromedriver_linux64.zip</Key><Generation>1380149889817000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:58:09.620Z</LastModified><ETag>"1a816cc185a15af4d450805629790b0a"</ETag><Size>7481138</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.3/chromedriver_mac32.zip</Key><Generation>1380149885736000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:58:05.567Z</LastModified><ETag>"4d72ca0fa6dbddfa1e42dbd1ef0045cc"</ETag><Size>7678021</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.3/chromedriver_win32.zip</Key><Generation>1380149886823000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:58:06.499Z</LastModified><ETag>"3226a146a6b97f2a111d3b2be9b0193f"</ETag><Size>3001138</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.3/notes.txt</Key><Generation>1380149888474000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:58:08.474Z</LastModified><ETag>"3ddc6ac82f5acc8d248b117146ab9b1b"</ETag><Size>591</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.4/chromedriver_linux32.zip</Key><Generation>1380606156436000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-10-01T05:42:36.371Z</LastModified><ETag>"3f8ef2f01a7fb5805bed2d644569acba"</ETag><Size>7365316</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.4/chromedriver_linux64.zip</Key><Generation>1380605124572000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-10-01T05:25:24.406Z</LastModified><ETag>"5e70555cbbf75e3480dd1629a35bc7e3"</ETag><Size>7536826</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.4/chromedriver_mac32.zip</Key><Generation>1380615154239000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-10-01T08:12:34.120Z</LastModified><ETag>"0816b2a06428962b1a2da103eb59323c"</ETag><Size>7727580</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>2.4/chromedriver_win32.zip</Key><Generation>1380667399987000</Generation><MetaGeneration>1</MetaGeneration><LastModified>2013-10-01T22:43:19.814Z</LastModified><ETag>"0280d3a9e713a38216a4e34a9ec1fba2"</ETag><Size>2980414</Size><Owner><ID>00b4903a97c5747d42831d561f5c5006971ba7454104797e276e7489aa9357d7</ID></Owner></Contents><Contents><Key>2.4/notes.txt</Key><Generation>1380605131079000</Generation><MetaGeneration>4</MetaGeneration><LastModified>2013-10-01T05:25:31.079Z</LastModified><ETag>"91ac3af6739a33188186e16c6a76d179"</ETag><Size>1089</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>icons/back.gif</Key><Generation>1380130924972000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T17:42:04.972Z</LastModified><ETag>"4bce9846e05d3bffdfb293d47c840a8e"</ETag><Size>216</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>icons/binary.gif</Key><Generation>1380130933627000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T17:42:13.627Z</LastModified><ETag>"96bd4beed88ff93356586485c13e5d89"</ETag><Size>246</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>icons/blank.gif</Key><Generation>1380130941334000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T17:42:21.333Z</LastModified><ETag>"19517fb39a31be6b8d7ccf53ad84908f"</ETag><Size>148</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>icons/folder.gif</Key><Generation>1380130950680000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T17:42:30.680Z</LastModified><ETag>"d342cba375fea336967317bdb5d7cf19"</ETag><Size>225</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents><Contents><Key>index.html</Key><Generation>1380128358912000</Generation><MetaGeneration>3</MetaGeneration><LastModified>2013-09-25T16:59:18.911Z</LastModified><ETag>"704b0f841aad1b1428481b7ff3c759c0"</ETag><Size>10574</Size><Owner><ID>00b4903a97149f98c03d9e192e5baa7ac7cdac7c396df4e4648822c1c13b5bcd</ID></Owner></Contents></ListBucketResult>
|