vete 0.6.5 → 0.6.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vete.rb +18 -13
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96b64fc68cb1332add0e65d46131d363ac1723c9b70f0f814382c29efeecb65f
|
4
|
+
data.tar.gz: 2601b593a3ca14b98576cde84de8dc40abd79cb3a6243784099ec8e4298baf7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb245248250c901de9ca611e4aa424fb7376fae97a96a71f448879cda58852632c6d7f98437ec271431ffa23cb8fc66fbcd09254850192480e3fe8d16032c7f7
|
7
|
+
data.tar.gz: c9e88e46d546b8ea63ef92f71b2684db2c114e1303cac1380a7e43a574d3bd45fb79a01ba53f8909d1dbef8e893506b7f00dfc5be1f40549f5fd62ae01788faa
|
data/lib/vete.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# vete - Ruby CLI to spawn processes to get work done
|
3
3
|
#
|
4
4
|
# Author: Steve Shreeve (steve.shreeve@gmail.com)
|
5
|
-
# Date:
|
5
|
+
# Date: June 29, 2023
|
6
6
|
# ============================================================================
|
7
7
|
|
8
8
|
STDOUT.sync = true
|
@@ -19,7 +19,7 @@ trap("INT" ) { print clear + go; abort "\n" }
|
|
19
19
|
trap("WINCH") { print clear or draw if @pid == Process.pid }
|
20
20
|
|
21
21
|
OptionParser.new.instance_eval do
|
22
|
-
@version = "0.6.
|
22
|
+
@version = "0.6.7"
|
23
23
|
@banner = "usage: #{program_name} [options]"
|
24
24
|
|
25
25
|
on "-b", "--bar <width>" , "Progress bar width, in characters", Integer
|
@@ -53,7 +53,6 @@ end
|
|
53
53
|
# define job directories
|
54
54
|
@vete = File.expand_path(".vete")
|
55
55
|
@todo = File.join(@vete, "todo")
|
56
|
-
@live = File.join(@vete, "live")
|
57
56
|
@done = File.join(@vete, "done")
|
58
57
|
@died = File.join(@vete, "died")
|
59
58
|
|
@@ -73,13 +72,13 @@ end
|
|
73
72
|
|
74
73
|
def vete_init
|
75
74
|
nuke
|
76
|
-
list = [@todo, @
|
75
|
+
list = [@todo, @done, @died]
|
77
76
|
list.each {|path| FileUtils.mkdir_p(path) }
|
78
77
|
end
|
79
78
|
|
80
79
|
def vete_retry
|
81
80
|
list = Dir.glob(File.join(@died, "*")).sort.each {|path| FileUtils.touch(path) }
|
82
|
-
move(list, @todo)
|
81
|
+
list.empty? ? false : !!move(list, @todo)
|
83
82
|
end
|
84
83
|
|
85
84
|
def vete_todo(path, data=nil)
|
@@ -96,13 +95,19 @@ def cursor(on) ; print on ? "\e[?25h": "\e[?25l"; end
|
|
96
95
|
def go(r=1,c=1) ; "\e[#{r};#{c}H" ; end
|
97
96
|
def go!(...) ; print go(...) ; end
|
98
97
|
|
99
|
-
|
100
|
-
|
101
|
-
def
|
102
|
-
|
103
|
-
|
98
|
+
@hex={}
|
99
|
+
|
100
|
+
def hex(str=nil)
|
101
|
+
@hex[str] ||= begin
|
102
|
+
str =~ /\A#?(?:(\h\h)(\h\h)(\h\h)|(\h)(\h)(\h))\z/ or return
|
103
|
+
r, g, b = $1 ? [$1, $2, $3] : [$4*2, $5*2, $6*2]
|
104
|
+
[r.hex, g.hex, b.hex] * ";"
|
105
|
+
end
|
104
106
|
end
|
105
107
|
|
108
|
+
def fg(rgb=nil); rgb ? "\e[38;2;#{hex(rgb)}m" : "\e[39m"; end
|
109
|
+
def bg(rgb=nil); rgb ? "\e[48;2;#{hex(rgb)}m" : "\e[49m"; end
|
110
|
+
|
106
111
|
def draw(live=0, done=0, died=0, jobs=0, info=nil)
|
107
112
|
|
108
113
|
# outer box
|
@@ -122,7 +127,7 @@ def draw(live=0, done=0, died=0, jobs=0, info=nil)
|
|
122
127
|
info.each do |slot, this|
|
123
128
|
tpct = this.to_f / most
|
124
129
|
cols = ppct * tpct * @wide
|
125
|
-
print go(slot + 1, @len + 5) + bg("5383ec") + @char * cols
|
130
|
+
print go(slot + 1, @len + 5) + bg("5383ec") + @char * cols # fg("fff")
|
126
131
|
end
|
127
132
|
|
128
133
|
# summary bar
|
@@ -138,8 +143,8 @@ def draw(live=0, done=0, died=0, jobs=0, info=nil)
|
|
138
143
|
bg("d85140") + " " * (@wide - gcol - ycol).ceil, # red (rest)
|
139
144
|
go(@work + 3, @len + 5 + @wide + 3),
|
140
145
|
bg("5383ec") + " %.1f%% " % [ppct * 100], # blue (done + died)
|
141
|
-
done > 0 ? (bg + " " + bg("58a65c") + " #{done} done ") : nil,
|
142
|
-
died > 0 ? (bg + " " + bg("d85140") +
|
146
|
+
done > 0 ? (bg + " " + bg("58a65c") + " #{done}/#{jobs} done ") : nil,
|
147
|
+
died > 0 ? (bg + " " + bg("d85140") + " #{died} died ") : nil,
|
143
148
|
].join
|
144
149
|
|
145
150
|
# clear colors
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vete
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Shreeve
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Ruby CLI to spawn processes to get work done
|
14
14
|
email: steve.shreeve@gmail.com
|
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
46
|
requirements: []
|
47
|
-
rubygems_version: 3.4.
|
47
|
+
rubygems_version: 3.4.14
|
48
48
|
signing_key:
|
49
49
|
specification_version: 4
|
50
50
|
summary: Ruby CLI to spawn processes to get work done
|