osp 0.4.0 → 0.5.0
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/Makefile +1 -1
- data/Makefile.common +6 -1
- data/README.md +1 -1
- data/bin/osp +19 -6
- data/lib/osp/database.rb +6 -0
- data/lib/osp/version.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46891f45eba94adf6d8a85f41ae72fad47af6238
|
4
|
+
data.tar.gz: e46f551edf7948e3625cea51260a2103af8cd6ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b48c4218a002df463bae78e2986e5cfe9471ab96545534113f57f2acfb6fbe74b144e0dd632c436751bb902bf240fa381813cce02400df9126a49fa78070ef8
|
7
|
+
data.tar.gz: 6471f2c637e7ecc0a161f61138c29d57ac3e4ce9edd15b78f23ebe114bcafa2c24ba92133ddf0e3cb5335fedf52c2168e63f37f73b839e7286b2ec269d908551
|
data/Makefile
CHANGED
data/Makefile.common
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
|
2
2
|
# Ruby Common Big
|
3
|
-
# 2016-
|
3
|
+
# 2016-04-09
|
4
4
|
|
5
5
|
MV = mv -nv
|
6
6
|
RM = rm -rf
|
7
7
|
MKDIR = mkdir -p
|
8
|
+
CHMOD = chmod
|
8
9
|
BUNDLER = bundle
|
9
10
|
BUNDLER_OPTIONS = --jobs=5 --retry=3
|
10
11
|
GEMSPEC_FILE = $(GEM_NAME).gemspec
|
@@ -51,3 +52,7 @@ release: | releases
|
|
51
52
|
|
52
53
|
releases:
|
53
54
|
$(MKDIR) $@
|
55
|
+
|
56
|
+
tmp:
|
57
|
+
$(MKDIR) $@
|
58
|
+
$(CHMOD) u=rwx,go-rwx $@
|
data/README.md
CHANGED
@@ -15,7 +15,7 @@ or via `Gemfile`:
|
|
15
15
|
|
16
16
|
- [Usage Video](https://asciinema.org/a/32521)
|
17
17
|
- [Blog Post about OSP](http://blog.fox21.at/2015/12/19/one-shall-pass-for-command-line.html)
|
18
|
-
- [Gem](https://rubygems.org/gems/osp)
|
18
|
+
- [OSP Gem](https://rubygems.org/gems/osp)
|
19
19
|
- [Travis CI Repository](https://travis-ci.org/TheFox/osp)
|
20
20
|
|
21
21
|
## Weblinks
|
data/bin/osp
CHANGED
@@ -21,8 +21,8 @@ opts = OptionParser.new do |o|
|
|
21
21
|
@options[:database_lock_path] = "#{path}~lock"
|
22
22
|
end
|
23
23
|
|
24
|
-
o.on_tail('--version', 'Show version.') do
|
25
|
-
puts "osp #{TheFox::OSP::VERSION}"
|
24
|
+
o.on_tail('-V', '--version', 'Show version.') do
|
25
|
+
puts "osp #{TheFox::OSP::VERSION} (#{TheFox::OSP::DATE})"
|
26
26
|
puts TheFox::OSP::HOMEPAGE
|
27
27
|
exit
|
28
28
|
end
|
@@ -54,11 +54,18 @@ if File.exist?(@options[:database_lock_path])
|
|
54
54
|
exit
|
55
55
|
end
|
56
56
|
end
|
57
|
+
File.write(@options[:database_lock_path], 'tmp')
|
58
|
+
File.chmod(0600, @options[:database_lock_path])
|
57
59
|
File.binwrite(@options[:database_lock_path], Process.pid)
|
58
60
|
|
59
61
|
puts 'Master Login'
|
60
|
-
|
61
|
-
|
62
|
+
if $DEBUG
|
63
|
+
email = 'example@example.com'
|
64
|
+
password = 'password'
|
65
|
+
else
|
66
|
+
email = @cli.ask(' Email: ')
|
67
|
+
password = @cli.ask('Password: '){ |q| q.echo = '*' }
|
68
|
+
end
|
62
69
|
|
63
70
|
Console.cursor_jump_to_column
|
64
71
|
Console.cursor_up(2)
|
@@ -319,6 +326,8 @@ while true
|
|
319
326
|
else
|
320
327
|
puts 'No hosts found.'
|
321
328
|
end
|
329
|
+
when 'c'
|
330
|
+
system('clear')
|
322
331
|
when 'q'
|
323
332
|
break
|
324
333
|
when '?'
|
@@ -329,6 +338,7 @@ while true
|
|
329
338
|
puts "\ti - Print informations about a host found by a search."
|
330
339
|
puts "\te - Edit a host found by search."
|
331
340
|
puts "\td - Delete a host found by search."
|
341
|
+
puts "\tc - Clear screen."
|
332
342
|
puts "\tq - Quit search."
|
333
343
|
puts "\t? - Print help."
|
334
344
|
else
|
@@ -338,8 +348,10 @@ while true
|
|
338
348
|
next if search_actions.count > 0
|
339
349
|
|
340
350
|
puts
|
341
|
-
search_actions << @cli.ask('[
|
351
|
+
search_actions << @cli.ask('[sliedcq?] >> '){ |q| q.character = true }.downcase
|
342
352
|
end
|
353
|
+
when 'c'
|
354
|
+
system('clear')
|
343
355
|
when 'x'
|
344
356
|
actions << 'q'
|
345
357
|
actions << 'w'
|
@@ -378,6 +390,7 @@ while true
|
|
378
390
|
puts "\tn - New password."
|
379
391
|
puts "\tl - List hosts from database."
|
380
392
|
puts "\ts - Search submenu."
|
393
|
+
puts "\tc - Clear screen."
|
381
394
|
puts "\tx - Same as wq."
|
382
395
|
puts "\tw - Write database to file."
|
383
396
|
puts "\tq - Quit."
|
@@ -389,7 +402,7 @@ while true
|
|
389
402
|
next if actions.count > 0
|
390
403
|
|
391
404
|
puts
|
392
|
-
actions << @cli.ask('[
|
405
|
+
actions << @cli.ask('[nlscxwq?] > '){ |q| q.character = true }.downcase
|
393
406
|
end
|
394
407
|
|
395
408
|
remove_lock
|
data/lib/osp/database.rb
CHANGED
@@ -129,15 +129,21 @@ module TheFox
|
|
129
129
|
db_out = Base64.strict_encode64(db_out)
|
130
130
|
|
131
131
|
write_callback(1300, "Write temp file to '#{tmp}'.")
|
132
|
+
File.write(tmp, 'tmp')
|
133
|
+
File.chmod(0600, tmp)
|
132
134
|
File.binwrite(tmp, db_out)
|
133
135
|
|
134
136
|
backup_dts = Time.now.strftime('%Y%m%d-%H%M%S')
|
135
137
|
backup = "#{@file_path}~backup_#{backup_dts}_" + Digest::SHA256.file(tmp).hexdigest[0..7]
|
136
138
|
|
137
139
|
write_callback(1350, "Backup temp file to '#{backup}'.")
|
140
|
+
File.write(backup, 'tmp')
|
141
|
+
File.chmod(0600, backup)
|
138
142
|
FileUtils.cp(tmp, backup)
|
139
143
|
|
140
144
|
write_callback(1390, "Finally, move temp file to '#{@file_path}'.")
|
145
|
+
File.write(@file_path, 'tmp')
|
146
|
+
File.chmod(0600, @file_path)
|
141
147
|
FileUtils.mv(tmp, @file_path)
|
142
148
|
|
143
149
|
@has_changed = false
|
data/lib/osp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Mayer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|