rabbit_swift 0.3.3 → 0.3.4

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 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