neocities 0.0.14 → 0.0.17
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 +4 -4
- data/ext/mkrf_conf.rb +2 -1
- data/lib/neocities/cli.rb +33 -1
- data/lib/neocities/client.rb +15 -3
- data/lib/neocities/version.rb +1 -1
- data/neocities.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e868d70dd0564036428471413481d66f764cde75087d25a4aef0ec945d5792b
|
4
|
+
data.tar.gz: 9d180d291b6169253110534aef62a48ec3ee8b43a8f50dc6a4635695d1ce525a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2a884cc70d5ffb3521a472e2f1a582963f44b3e390f171486c6c3d08125041779cf65e562decc6a3aeaafbfa2d7e956efbb22ee77cd7b5cb3e3f096d7d15e11
|
7
|
+
data.tar.gz: aab95d2837cdcdfa49b35cabf4a4b57fae898f2189bcd16f34b16e5729b9f415491fe4c7a024376d0b0e5eb24c98cea2c5743269fa6d21431876bd2b4f58e157
|
data/ext/mkrf_conf.rb
CHANGED
data/lib/neocities/cli.rb
CHANGED
@@ -161,15 +161,23 @@ module Neocities
|
|
161
161
|
def push
|
162
162
|
@no_gitignore = false
|
163
163
|
@excluded_files = []
|
164
|
+
@dry_run = false
|
165
|
+
@prune = false
|
164
166
|
loop {
|
165
167
|
case @subargs[0]
|
166
168
|
when '--no-gitignore' then @subargs.shift; @no_gitignore = true
|
167
169
|
when '-e' then @subargs.shift; @excluded_files.push(@subargs.shift)
|
170
|
+
when '--dry-run' then @subargs.shift; @dry_run = true
|
171
|
+
when '--prune' then @subargs.shift; @prune = true
|
168
172
|
when /^-/ then puts(@pastel.red.bold("Unknown option: #{@subargs[0].inspect}")); display_push_help_and_exit
|
169
173
|
else break
|
170
174
|
end
|
171
175
|
}
|
172
176
|
|
177
|
+
if @dry_run
|
178
|
+
puts @pastel.green.bold("Doing a dry run, not actually pushing anything")
|
179
|
+
end
|
180
|
+
|
173
181
|
root_path = Pathname @subargs[0]
|
174
182
|
|
175
183
|
if !root_path.exist?
|
@@ -182,6 +190,28 @@ module Neocities
|
|
182
190
|
display_push_help_and_exit
|
183
191
|
end
|
184
192
|
|
193
|
+
if @prune
|
194
|
+
pruned_dirs = []
|
195
|
+
resp = @client.list
|
196
|
+
resp[:files].each do |file|
|
197
|
+
path = Pathname(File.join(@subargs[0], file[:path]))
|
198
|
+
|
199
|
+
pruned_dirs << path if !path.exist? && (file[:is_directory])
|
200
|
+
|
201
|
+
if !path.exist? && !pruned_dirs.include?(path.dirname)
|
202
|
+
print @pastel.bold("Deleting #{file[:path]} ... ")
|
203
|
+
resp = @client.delete_wrapper_with_dry_run file[:path], @dry_run
|
204
|
+
|
205
|
+
if resp[:result] == 'success'
|
206
|
+
print @pastel.green.bold("SUCCESS") + "\n"
|
207
|
+
else
|
208
|
+
print "\n"
|
209
|
+
display_response resp
|
210
|
+
end
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
185
215
|
Dir.chdir(root_path) do
|
186
216
|
paths = Dir.glob(File.join('**', '*'))
|
187
217
|
|
@@ -216,7 +246,7 @@ module Neocities
|
|
216
246
|
paths.each do |path|
|
217
247
|
next if path.directory?
|
218
248
|
print @pastel.bold("Uploading #{path} ... ")
|
219
|
-
resp = @client.upload path, path
|
249
|
+
resp = @client.upload path, path, @dry_run
|
220
250
|
|
221
251
|
if resp[:result] == 'error' && resp[:error_type] == 'file_exists'
|
222
252
|
print @pastel.yellow.bold("EXISTS") + "\n"
|
@@ -334,6 +364,8 @@ HERE
|
|
334
364
|
|
335
365
|
#{@pastel.green '$ neocities push --no-gitignore .'} Don't use .gitignore to exclude files
|
336
366
|
|
367
|
+
#{@pastel.green '$ neocities push --dry-run .'} Just show what would be uploaded
|
368
|
+
|
337
369
|
HERE
|
338
370
|
exit
|
339
371
|
end
|
data/lib/neocities/client.rb
CHANGED
@@ -42,7 +42,7 @@ module Neocities
|
|
42
42
|
post 'upload_hash', remote_path => sha1_hash
|
43
43
|
end
|
44
44
|
|
45
|
-
def upload(path, remote_path=nil)
|
45
|
+
def upload(path, remote_path=nil, dry_run=false)
|
46
46
|
path = Pathname path
|
47
47
|
|
48
48
|
unless path.exist?
|
@@ -56,12 +56,24 @@ module Neocities
|
|
56
56
|
if res[:files] && res[:files][remote_path.to_s.to_sym] == true
|
57
57
|
return {result: 'error', error_type: 'file_exists', message: 'file already exists and matches local file, not uploading'}
|
58
58
|
else
|
59
|
-
|
60
|
-
|
59
|
+
if dry_run
|
60
|
+
return {result: 'success'}
|
61
|
+
else
|
62
|
+
File.open(path.to_s) do |file|
|
63
|
+
post 'upload', rpath => file
|
64
|
+
end
|
61
65
|
end
|
62
66
|
end
|
63
67
|
end
|
64
68
|
|
69
|
+
def delete_wrapper_with_dry_run(paths, dry_run=false)
|
70
|
+
if dry_run
|
71
|
+
return {result: 'success'}
|
72
|
+
else
|
73
|
+
delete(paths)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
65
77
|
def delete(*paths)
|
66
78
|
post 'delete', 'filenames[]' => paths
|
67
79
|
end
|
data/lib/neocities/version.rb
CHANGED
data/neocities.gemspec
CHANGED
@@ -20,6 +20,6 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_dependency 'tty-table', '~> 0.10', '= 0.10.0'
|
21
21
|
spec.add_dependency 'tty-prompt', '~> 0.12', '= 0.12.0'
|
22
22
|
spec.add_dependency 'pastel', '~> 0.7', '= 0.7.2'
|
23
|
-
spec.add_dependency 'httpclient',
|
23
|
+
spec.add_dependency 'httpclient-fixcerts', '~> 2.8', '>= 2.8.5'
|
24
24
|
spec.add_dependency 'rake', '~> 12.3', '>= 12.3.1'
|
25
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neocities
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kyle Drake
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-table
|
@@ -71,7 +71,7 @@ dependencies:
|
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 0.7.2
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
|
-
name: httpclient
|
74
|
+
name: httpclient-fixcerts
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
@@ -79,7 +79,7 @@ dependencies:
|
|
79
79
|
version: '2.8'
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 2.8.
|
82
|
+
version: 2.8.5
|
83
83
|
type: :runtime
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -89,7 +89,7 @@ dependencies:
|
|
89
89
|
version: '2.8'
|
90
90
|
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: 2.8.
|
92
|
+
version: 2.8.5
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
94
|
name: rake
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|