neocities 0.0.16 → 0.0.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/mkrf_conf.rb +2 -1
- data/lib/neocities/cli.rb +29 -1
- data/lib/neocities/client.rb +8 -0
- data/lib/neocities/version.rb +1 -1
- metadata +15 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 322b624aea971dd7a650eac8a9b6011e0f3d13ff8e4a5bb2f1a423b87bb446ac
|
4
|
+
data.tar.gz: c28f4d3296f36bb8a556fa210cc79a19a765e511fbf3b45111f93738b26014d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec195af25579bd74b8763ec1bc2d997ede505157fb2e6da9e27bfc4854a03526c57d8d05c593e9a10bfa8c0597649f75be03962d338933cbf763c9c75be9e110
|
7
|
+
data.tar.gz: 45ea7e5ff1bc0addafe30ca5bb9a8e3b23dabd168b01b0169ab254895d8041bb098687cfb982c5161d2d5a9d4ed2634937064c87b1f3b0bcb76b8ea1d944d031
|
data/ext/mkrf_conf.rb
CHANGED
data/lib/neocities/cli.rb
CHANGED
@@ -48,6 +48,8 @@ module Neocities
|
|
48
48
|
if !@api_key
|
49
49
|
begin
|
50
50
|
@api_key = File.read @app_config_path
|
51
|
+
# Remove any trailing whitespace causing HTTP requests to fail
|
52
|
+
@api_key = @api_key.strip
|
51
53
|
rescue Errno::ENOENT
|
52
54
|
@api_key = nil
|
53
55
|
end
|
@@ -162,11 +164,13 @@ module Neocities
|
|
162
164
|
@no_gitignore = false
|
163
165
|
@excluded_files = []
|
164
166
|
@dry_run = false
|
167
|
+
@prune = false
|
165
168
|
loop {
|
166
169
|
case @subargs[0]
|
167
170
|
when '--no-gitignore' then @subargs.shift; @no_gitignore = true
|
168
171
|
when '-e' then @subargs.shift; @excluded_files.push(@subargs.shift)
|
169
172
|
when '--dry-run' then @subargs.shift; @dry_run = true
|
173
|
+
when '--prune' then @subargs.shift; @prune = true
|
170
174
|
when /^-/ then puts(@pastel.red.bold("Unknown option: #{@subargs[0].inspect}")); display_push_help_and_exit
|
171
175
|
else break
|
172
176
|
end
|
@@ -188,8 +192,30 @@ module Neocities
|
|
188
192
|
display_push_help_and_exit
|
189
193
|
end
|
190
194
|
|
195
|
+
if @prune
|
196
|
+
pruned_dirs = []
|
197
|
+
resp = @client.list
|
198
|
+
resp[:files].each do |file|
|
199
|
+
path = Pathname(File.join(@subargs[0], file[:path]))
|
200
|
+
|
201
|
+
pruned_dirs << path if !path.exist? && (file[:is_directory])
|
202
|
+
|
203
|
+
if !path.exist? && !pruned_dirs.include?(path.dirname)
|
204
|
+
print @pastel.bold("Deleting #{file[:path]} ... ")
|
205
|
+
resp = @client.delete_wrapper_with_dry_run file[:path], @dry_run
|
206
|
+
|
207
|
+
if resp[:result] == 'success'
|
208
|
+
print @pastel.green.bold("SUCCESS") + "\n"
|
209
|
+
else
|
210
|
+
print "\n"
|
211
|
+
display_response resp
|
212
|
+
end
|
213
|
+
end
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
191
217
|
Dir.chdir(root_path) do
|
192
|
-
paths = Dir.glob(File.join('**', '*'))
|
218
|
+
paths = Dir.glob(File.join('**', '*'), File::FNM_DOTMATCH)
|
193
219
|
|
194
220
|
if @no_gitignore == false
|
195
221
|
begin
|
@@ -341,6 +367,8 @@ HERE
|
|
341
367
|
#{@pastel.green '$ neocities push --no-gitignore .'} Don't use .gitignore to exclude files
|
342
368
|
|
343
369
|
#{@pastel.green '$ neocities push --dry-run .'} Just show what would be uploaded
|
370
|
+
|
371
|
+
#{@pastel.green '$ neocities push --prune .'} Delete site files not in dir (be careful!)
|
344
372
|
|
345
373
|
HERE
|
346
374
|
exit
|
data/lib/neocities/client.rb
CHANGED
data/lib/neocities/version.rb
CHANGED
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
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.18
|
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: 2023-07-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-table
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - '='
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.10.0
|
20
17
|
- - "~>"
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: '0.10'
|
20
|
+
- - '='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.10.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - '='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 0.10.0
|
30
27
|
- - "~>"
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '0.10'
|
30
|
+
- - '='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.10.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: tty-prompt
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - '='
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 0.12.0
|
40
37
|
- - "~>"
|
41
38
|
- !ruby/object:Gem::Version
|
42
39
|
version: '0.12'
|
40
|
+
- - '='
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.12.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - '='
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 0.12.0
|
50
47
|
- - "~>"
|
51
48
|
- !ruby/object:Gem::Version
|
52
49
|
version: '0.12'
|
50
|
+
- - '='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.12.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: pastel
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
148
|
- !ruby/object:Gem::Version
|
149
149
|
version: '0'
|
150
150
|
requirements: []
|
151
|
-
rubygems_version: 3.
|
151
|
+
rubygems_version: 3.3.26
|
152
152
|
signing_key:
|
153
153
|
specification_version: 4
|
154
154
|
summary: Neocities.org CLI and API client
|