rabbit_swift 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 33c37548a68abd10e6c91148b593fd63cdb86ca6
4
- data.tar.gz: 3152c7bfa55fa4afac0fdb60bdff9c23033f751e
3
+ metadata.gz: 1ecd97e29955444c2365dc1500a1078253454efc
4
+ data.tar.gz: e36ef4e5bc5a2c7c53eb029d1886806df7a9221e
5
5
  SHA512:
6
- metadata.gz: 1fb9190cc15001876e1834118d6ca607e655a2cf88dfbf920fb95ce52160bf77a2ff9505cd62fc66f7f5d3f6d8b0e45bbf91d8561542275051542cc342a3d2ff
7
- data.tar.gz: efe1acf209767db3abf169a8e79590e7ce194847b3e22e5b150ce3d93caa47ad5d5cb84f96944b6365ba473ec9c65979e6587b8057a5ad6601fd9c855be4185e
6
+ metadata.gz: 9db3dd8e17ae2cd2be533ee9d788dcc68aaed1446c38115af9eb590840fcc2a92d93f244d98babc0498f40a766de423691a1906c57e3065ada9a57325712b7e4
7
+ data.tar.gz: 8d19c17c4efac7fe87771cc307430ea9835459a93f5a5bcd3b235e3d17edbdc9ea168af5fcc8246c31d9722c69e54156484e330163b2cc2c87248e04d8736199
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # RabbitSwift
2
2
 
3
- OpenStack Swift Simple Client
3
+ OpenStack Object Storage (Swift) Client
4
4
 
5
5
  ## Installation
6
6
 
@@ -52,11 +52,14 @@ Or install it yourself as:
52
52
 
53
53
  ### Support Static Large Object
54
54
 
55
- #### When upload object size 5BG over. Auto change mode SLO
55
+ #### SLO Object Download Support
56
+ rabbit_swift_client.get_object(token, url) --> enable SLO object download
57
+
58
+ #### When upload object size 5GB over. Auto change mode SLO
56
59
  rabbit_swift_client.upload(token, dest_url, 5GB_under_file.zip) --> normal upload
57
60
  rabbit_swift_client.upload(token, dest_url, 5GB_over_file.zip) --> static large object upload
58
61
 
59
- #### SLO Flow
62
+ #### SLO Upload Flow
60
63
  1. split file
61
64
  2. upload split files
62
65
  3. upload manifest file
data/RELEASE.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # リリース履歴
2
2
 
3
+ ## 0.3.4
4
+
5
+ (2015/02/20)
6
+
7
+ Support SLO Download
8
+
3
9
  ## 0.3.3
4
10
 
5
11
  (2015/02/19)
data/bin/get_object.rb CHANGED
@@ -27,10 +27,18 @@ File.open conf_path do |file|
27
27
  end
28
28
  end
29
29
 
30
+ # TODO
31
+ def decode_large_object_md5(encode_md5)
32
+ encode_md5.gsub(/\"/,'')
33
+ end
34
+
30
35
  rabbit_swift_client = RabbitSwift::Client.new(swift_conf_json)
31
36
  token = rabbit_swift_client.get_token
32
37
  response = rabbit_swift_client.head(token, url)
33
38
 
39
+ is_large_object = response.has_key?('X-Static-Large-Object') ? true : false
40
+ original_file_size = response['Content-Length']
41
+
34
42
  response.each do |k, v|
35
43
  puts k + ' = '+ v
36
44
  end
@@ -39,13 +47,32 @@ original_file_md5 = response['Etag']
39
47
 
40
48
  save_file_path = rabbit_swift_client.get_object(token, url, dest_path)
41
49
  puts save_file_path
42
- save_file_md5 = Digest::MD5.file(save_file_path).to_s
43
50
 
44
- puts original_file_md5 + ' --> original_file_md5'
45
- puts save_file_md5 + ' --> save_file_md5'
51
+ #ref SLO md5 https://github.com/openstack/python-swiftclient/blob/06c73c6020e5af873e3ce245a27035da3448de7b/swiftclient/service.py#L330
52
+ # self._expected_etag: ヘッダーのEtag
53
+ # 保存したファイルのmd5 self._actual_md5
46
54
 
47
- if original_file_md5 == save_file_md5
48
- puts 'OK! MD5 checksum'
55
+ save_file_size = File.size(save_file_path)
56
+ puts original_file_size + ' --> original_file_size'
57
+ puts save_file_size.to_s + ' --> save_file_size'
58
+
59
+ if original_file_size.to_i == save_file_size
60
+ puts 'OK! file size'
49
61
  else
50
- puts 'BAD MD5 checksum ><'
51
- end
62
+ puts 'BAD file size ><'
63
+ end
64
+
65
+
66
+ #when SLO don't check md5. check file size
67
+ if (!is_large_object)
68
+ save_file_md5 = Digest::MD5.file(save_file_path).to_s
69
+ puts original_file_md5 + ' --> original_file_md5'
70
+ puts save_file_md5 + ' --> save_file_md5'
71
+
72
+ if original_file_md5 == save_file_md5
73
+ puts 'OK! MD5 checksum'
74
+ else
75
+ puts 'BAD MD5 checksum ><'
76
+ end
77
+ end
78
+
@@ -10,8 +10,8 @@ module RabbitSwift
10
10
 
11
11
  class Client
12
12
 
13
- UPLOAD_SUCCESS_HTTP_STATUS_CODE = 201
14
13
  HEAD_SUCCESS_HTTP_STATUS_CODE = 200
14
+ UPLOAD_SUCCESS_HTTP_STATUS_CODE = 201
15
15
  DELETE_SUCCESS_HTTP_STATUS_CODE = 204
16
16
 
17
17
  @token = nil
@@ -80,28 +80,6 @@ module RabbitSwift
80
80
  dest_file
81
81
  end
82
82
 
83
- # TODO
84
- def get_static_large_object(token, url, dest_folder = nil)
85
- auth_header = {
86
- 'X-Auth-Token' => token
87
- }
88
- query = {
89
- 'format' => 'json'
90
- }
91
- end
92
-
93
- def list(token, url)
94
- auth_header = {
95
- 'X-Auth-Token' => token
96
- }
97
- query = {
98
- 'format' => 'json'
99
- }
100
- http_client = HTTPClient.new
101
- response = http_client.get(URI.parse(URI.encode(url)), query, auth_header)
102
- JSON.load(response.body)
103
- end
104
-
105
83
  def get_meta_data(token, url)
106
84
  response = head(token, url)
107
85
  meta_data = {}
@@ -1,3 +1,3 @@
1
1
  module RabbitSwift
2
- VERSION = "0.3.3"
2
+ VERSION = "0.3.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbit_swift
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - AKB428