filbunke 2.1.3 → 2.1.7
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 +5 -5
- data/.ruby-version +1 -1
- data/Rakefile +5 -4
- data/VERSION +1 -1
- data/filbunke.gemspec +30 -35
- data/lib/filbunke/client.rb +18 -9
- data/lib/filbunke.rb +1 -1
- metadata +25 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: ad6c0602a7d2dd0e234114495836e1479ba02fa338befd5a3399e65aed9564d9
|
|
4
|
+
data.tar.gz: 79292e2acb04273425a16fd6cc33950a467e77f2021c0dee6a90aac4262f2f67
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b7328935e1ebdb2f1e0c2536ac124233d154be026e86f33ae77f0fdca14f15b1c056f6927481305dd82fc2b376f700d4b5ebcae4ba5a67a73e6fa3188db8997d
|
|
7
|
+
data.tar.gz: 34824f421d84ef82cf3fe7f4506e8ecdcc6dbe198635263a82d98ee3aeddad18c95f3261650f2b7813b2e43ea84e9cb196864373d0ab183645dc6c0eabdae902
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.3
|
data/Rakefile
CHANGED
|
@@ -4,11 +4,12 @@ require 'rake'
|
|
|
4
4
|
begin
|
|
5
5
|
require 'jeweler'
|
|
6
6
|
required_dependencies = {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
7
|
+
"addressable" => "2.8.0",
|
|
8
|
+
"json" => "2.6.1",
|
|
9
|
+
"typhoeus" => "1.4.0",
|
|
9
10
|
"open4" => "1.3.4",
|
|
10
|
-
"mime-types" => "
|
|
11
|
-
"parallel" => "1.
|
|
11
|
+
"mime-types" => "3.4.1",
|
|
12
|
+
"parallel" => "1.21.0"
|
|
12
13
|
}
|
|
13
14
|
Jeweler::Tasks.new do |gem|
|
|
14
15
|
gem.name = "filbunke"
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.1.
|
|
1
|
+
2.1.7
|
data/filbunke.gemspec
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
# Generated by jeweler
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
-
# Instead, edit Jeweler::Tasks in
|
|
3
|
+
# Instead, edit Jeweler::Tasks in rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: filbunke 2.1.
|
|
5
|
+
# stub: filbunke 2.1.7 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
|
-
s.name = "filbunke"
|
|
9
|
-
s.version = "2.1.
|
|
8
|
+
s.name = "filbunke".freeze
|
|
9
|
+
s.version = "2.1.7"
|
|
10
10
|
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
|
-
s.require_paths = ["lib"]
|
|
13
|
-
s.authors = ["Wouter de Bie", "Bjorn Sperber", "Karl Ravn", "Magnus Spangdal"]
|
|
14
|
-
s.date = "
|
|
15
|
-
s.description = "Filbunke client and library"
|
|
16
|
-
s.email = "technical@deltaprojects.com"
|
|
17
|
-
s.executables = ["filbunked"]
|
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
|
+
s.require_paths = ["lib".freeze]
|
|
13
|
+
s.authors = ["Wouter de Bie".freeze, "Bjorn Sperber".freeze, "Karl Ravn".freeze, "Magnus Spangdal".freeze]
|
|
14
|
+
s.date = "2022-02-23"
|
|
15
|
+
s.description = "Filbunke client and library".freeze
|
|
16
|
+
s.email = "technical@deltaprojects.com".freeze
|
|
17
|
+
s.executables = ["filbunked".freeze]
|
|
18
18
|
s.files = [
|
|
19
19
|
".gitignore",
|
|
20
20
|
".ruby-gemset",
|
|
@@ -41,35 +41,30 @@ Gem::Specification.new do |s|
|
|
|
41
41
|
"test/helper.rb",
|
|
42
42
|
"test/test_filbunke.rb"
|
|
43
43
|
]
|
|
44
|
-
s.homepage = "https://rubygems.org/gems/filbunke"
|
|
45
|
-
s.rubygems_version = "
|
|
46
|
-
s.summary = "Filbunke client"
|
|
44
|
+
s.homepage = "https://rubygems.org/gems/filbunke".freeze
|
|
45
|
+
s.rubygems_version = "3.1.2".freeze
|
|
46
|
+
s.summary = "Filbunke client".freeze
|
|
47
47
|
|
|
48
48
|
if s.respond_to? :specification_version then
|
|
49
49
|
s.specification_version = 4
|
|
50
|
+
end
|
|
50
51
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
s.add_dependency(%q<shoulda>, ["~> 0"])
|
|
60
|
-
s.add_dependency(%q<json>, ["= 1.8.3"])
|
|
61
|
-
s.add_dependency(%q<typhoeus>, ["= 1.0.1"])
|
|
62
|
-
s.add_dependency(%q<open4>, ["= 1.3.4"])
|
|
63
|
-
s.add_dependency(%q<mime-types>, ["= 2.6.2"])
|
|
64
|
-
s.add_dependency(%q<parallel>, ["= 1.6.1"])
|
|
65
|
-
end
|
|
52
|
+
if s.respond_to? :add_runtime_dependency then
|
|
53
|
+
s.add_development_dependency(%q<shoulda>.freeze, ["~> 0"])
|
|
54
|
+
s.add_runtime_dependency(%q<addressable>.freeze, ["= 2.8.0"])
|
|
55
|
+
s.add_runtime_dependency(%q<json>.freeze, ["= 2.6.1"])
|
|
56
|
+
s.add_runtime_dependency(%q<typhoeus>.freeze, ["= 1.4.0"])
|
|
57
|
+
s.add_runtime_dependency(%q<open4>.freeze, ["= 1.3.4"])
|
|
58
|
+
s.add_runtime_dependency(%q<mime-types>.freeze, ["= 3.4.1"])
|
|
59
|
+
s.add_runtime_dependency(%q<parallel>.freeze, ["= 1.21.0"])
|
|
66
60
|
else
|
|
67
|
-
s.add_dependency(%q<shoulda
|
|
68
|
-
s.add_dependency(%q<
|
|
69
|
-
s.add_dependency(%q<
|
|
70
|
-
s.add_dependency(%q<
|
|
71
|
-
s.add_dependency(%q<
|
|
72
|
-
s.add_dependency(%q<
|
|
61
|
+
s.add_dependency(%q<shoulda>.freeze, ["~> 0"])
|
|
62
|
+
s.add_dependency(%q<addressable>.freeze, ["= 2.8.0"])
|
|
63
|
+
s.add_dependency(%q<json>.freeze, ["= 2.6.1"])
|
|
64
|
+
s.add_dependency(%q<typhoeus>.freeze, ["= 1.4.0"])
|
|
65
|
+
s.add_dependency(%q<open4>.freeze, ["= 1.3.4"])
|
|
66
|
+
s.add_dependency(%q<mime-types>.freeze, ["= 3.4.1"])
|
|
67
|
+
s.add_dependency(%q<parallel>.freeze, ["= 1.21.0"])
|
|
73
68
|
end
|
|
74
69
|
end
|
|
75
70
|
|
data/lib/filbunke/client.rb
CHANGED
|
@@ -27,7 +27,16 @@ module Filbunke
|
|
|
27
27
|
updated_files = updates["files"] || []
|
|
28
28
|
new_checkpoint = updates["checkpoint"]
|
|
29
29
|
if updated_files.empty?
|
|
30
|
-
|
|
30
|
+
if updates.key?("files")
|
|
31
|
+
return begin
|
|
32
|
+
fetch_remote_last_checkpoint
|
|
33
|
+
rescue => e
|
|
34
|
+
@logger.warn "Failed to fetch remote last_checkpoint #{@repository.name} will fall back to local last_checkpoint=#{last_checkpoint}"
|
|
35
|
+
last_checkpoint
|
|
36
|
+
end
|
|
37
|
+
else
|
|
38
|
+
return last_checkpoint
|
|
39
|
+
end
|
|
31
40
|
end
|
|
32
41
|
@logger.info "Updating repository: #{@repository.name}: #{updated_files.size} files. Checkpoint: #{last_checkpoint} ==> #{new_checkpoint}"
|
|
33
42
|
|
|
@@ -109,7 +118,7 @@ module Filbunke
|
|
|
109
118
|
begin
|
|
110
119
|
register_http = Net::HTTP.new(@repository.host, @repository.port)
|
|
111
120
|
register_http.start do |http|
|
|
112
|
-
request = Net::HTTP::Put.new(register_path)
|
|
121
|
+
request = Net::HTTP::Put.new(Addressable::URI.encode(register_path))
|
|
113
122
|
response = http.request(request)
|
|
114
123
|
if response.code.to_i != 204
|
|
115
124
|
raise "Failed to register updated file: #{path}"
|
|
@@ -126,7 +135,7 @@ module Filbunke
|
|
|
126
135
|
begin
|
|
127
136
|
register_http = Net::HTTP.new(@repository.host, @repository.port)
|
|
128
137
|
register_http.start do |http|
|
|
129
|
-
request = Net::HTTP::Delete.new(register_path)
|
|
138
|
+
request = Net::HTTP::Delete.new(Addressable::URI.encode(register_path))
|
|
130
139
|
response = http.request(request)
|
|
131
140
|
if response.code.to_i != 204
|
|
132
141
|
raise "Failed to register deleted file: #{path}"
|
|
@@ -142,7 +151,7 @@ module Filbunke
|
|
|
142
151
|
touch_http = Net::HTTP.new(@repository.host, @repository.port)
|
|
143
152
|
touch_http.start do |http|
|
|
144
153
|
touch_path = "/#{UPDATES_ACTION}/#{@repository.name}/#{TOUCH_ACTION}"
|
|
145
|
-
request = Net::HTTP::Put.new(touch_path)
|
|
154
|
+
request = Net::HTTP::Put.new(Addressable::URI.encode(touch_path))
|
|
146
155
|
response = http.request(request)
|
|
147
156
|
if response.code.to_i != 204
|
|
148
157
|
raise "Failed to touch repository: #{@repository.name}"
|
|
@@ -150,11 +159,11 @@ module Filbunke
|
|
|
150
159
|
end
|
|
151
160
|
end
|
|
152
161
|
|
|
153
|
-
def
|
|
162
|
+
def fetch_remote_last_checkpoint
|
|
154
163
|
last_checkpoint_http = Net::HTTP.new(@repository.host, @repository.port)
|
|
155
164
|
last_checkpoint_http.start do |http|
|
|
156
165
|
last_checkpoint_path = "/#{UPDATES_ACTION}/#{@repository.name}/#{LAST_CHECKPOINT_ACTION}"
|
|
157
|
-
request = Net::HTTP::Get.new(last_checkpoint_path)
|
|
166
|
+
request = Net::HTTP::Get.new(Addressable::URI.encode(last_checkpoint_path))
|
|
158
167
|
response = http.request(request)
|
|
159
168
|
if response.code.to_i != 200
|
|
160
169
|
raise "Failed to get last checkpoint for repository: #{@repository.name}"
|
|
@@ -220,7 +229,7 @@ module Filbunke
|
|
|
220
229
|
updates_path = "#{updates_path}&batch_size=#{@repository.batch_size}" if @repository.batch_size > 0
|
|
221
230
|
begin
|
|
222
231
|
@logger.info "Fetching updated file list from #{updates_path}"
|
|
223
|
-
request = Net::HTTP::Get.new(updates_path)
|
|
232
|
+
request = Net::HTTP::Get.new(Addressable::URI.encode(updates_path))
|
|
224
233
|
response = http.request(request)
|
|
225
234
|
if response.code.to_i == 200
|
|
226
235
|
JSON.parse(response.body)
|
|
@@ -245,14 +254,14 @@ module Filbunke
|
|
|
245
254
|
begin
|
|
246
255
|
async_request = if @repository.user
|
|
247
256
|
Typhoeus::Request.new(
|
|
248
|
-
URI.
|
|
257
|
+
Addressable::URI.encode(file.url),
|
|
249
258
|
:followlocation => true,
|
|
250
259
|
:username => @repository.user,
|
|
251
260
|
:password => @repository.pass
|
|
252
261
|
)
|
|
253
262
|
else
|
|
254
263
|
Typhoeus::Request.new(
|
|
255
|
-
URI.
|
|
264
|
+
Addressable::URI.encode(file.url),
|
|
256
265
|
:followlocation => true
|
|
257
266
|
)
|
|
258
267
|
end
|
data/lib/filbunke.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: filbunke
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Wouter de Bie
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date:
|
|
14
|
+
date: 2022-02-23 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: shoulda
|
|
@@ -27,34 +27,48 @@ dependencies:
|
|
|
27
27
|
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
29
|
version: '0'
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: addressable
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
requirements:
|
|
34
|
+
- - '='
|
|
35
|
+
- !ruby/object:Gem::Version
|
|
36
|
+
version: 2.8.0
|
|
37
|
+
type: :runtime
|
|
38
|
+
prerelease: false
|
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
40
|
+
requirements:
|
|
41
|
+
- - '='
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: 2.8.0
|
|
30
44
|
- !ruby/object:Gem::Dependency
|
|
31
45
|
name: json
|
|
32
46
|
requirement: !ruby/object:Gem::Requirement
|
|
33
47
|
requirements:
|
|
34
48
|
- - '='
|
|
35
49
|
- !ruby/object:Gem::Version
|
|
36
|
-
version:
|
|
50
|
+
version: 2.6.1
|
|
37
51
|
type: :runtime
|
|
38
52
|
prerelease: false
|
|
39
53
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
54
|
requirements:
|
|
41
55
|
- - '='
|
|
42
56
|
- !ruby/object:Gem::Version
|
|
43
|
-
version:
|
|
57
|
+
version: 2.6.1
|
|
44
58
|
- !ruby/object:Gem::Dependency
|
|
45
59
|
name: typhoeus
|
|
46
60
|
requirement: !ruby/object:Gem::Requirement
|
|
47
61
|
requirements:
|
|
48
62
|
- - '='
|
|
49
63
|
- !ruby/object:Gem::Version
|
|
50
|
-
version: 1.0
|
|
64
|
+
version: 1.4.0
|
|
51
65
|
type: :runtime
|
|
52
66
|
prerelease: false
|
|
53
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
68
|
requirements:
|
|
55
69
|
- - '='
|
|
56
70
|
- !ruby/object:Gem::Version
|
|
57
|
-
version: 1.0
|
|
71
|
+
version: 1.4.0
|
|
58
72
|
- !ruby/object:Gem::Dependency
|
|
59
73
|
name: open4
|
|
60
74
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -75,28 +89,28 @@ dependencies:
|
|
|
75
89
|
requirements:
|
|
76
90
|
- - '='
|
|
77
91
|
- !ruby/object:Gem::Version
|
|
78
|
-
version:
|
|
92
|
+
version: 3.4.1
|
|
79
93
|
type: :runtime
|
|
80
94
|
prerelease: false
|
|
81
95
|
version_requirements: !ruby/object:Gem::Requirement
|
|
82
96
|
requirements:
|
|
83
97
|
- - '='
|
|
84
98
|
- !ruby/object:Gem::Version
|
|
85
|
-
version:
|
|
99
|
+
version: 3.4.1
|
|
86
100
|
- !ruby/object:Gem::Dependency
|
|
87
101
|
name: parallel
|
|
88
102
|
requirement: !ruby/object:Gem::Requirement
|
|
89
103
|
requirements:
|
|
90
104
|
- - '='
|
|
91
105
|
- !ruby/object:Gem::Version
|
|
92
|
-
version: 1.
|
|
106
|
+
version: 1.21.0
|
|
93
107
|
type: :runtime
|
|
94
108
|
prerelease: false
|
|
95
109
|
version_requirements: !ruby/object:Gem::Requirement
|
|
96
110
|
requirements:
|
|
97
111
|
- - '='
|
|
98
112
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: 1.
|
|
113
|
+
version: 1.21.0
|
|
100
114
|
description: Filbunke client and library
|
|
101
115
|
email: technical@deltaprojects.com
|
|
102
116
|
executables:
|
|
@@ -146,8 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
146
160
|
- !ruby/object:Gem::Version
|
|
147
161
|
version: '0'
|
|
148
162
|
requirements: []
|
|
149
|
-
|
|
150
|
-
rubygems_version: 2.4.8
|
|
163
|
+
rubygems_version: 3.1.2
|
|
151
164
|
signing_key:
|
|
152
165
|
specification_version: 4
|
|
153
166
|
summary: Filbunke client
|