gogreen 0.3.0 → 0.4.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
- checksums.yaml.gz.sig +0 -0
- data/lib/gogreen.rb +55 -39
- data.tar.gz.sig +0 -0
- metadata +38 -38
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5230bbcc1ee3b526f051b90b123817c4c54ceb0532e385eea0b70991090b87fd
|
4
|
+
data.tar.gz: df4636b8e98891ef553c111f1217018bcbe665dbb7147501c06d393b2a35ba3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c793d2e2c1cab00e7aac774abf4d56415340c74192d4ced98512333752219acbf08f49f7965850e53e9f6ef83ac45fb316b7acc36851d17230ad418bd0bd0ee6
|
7
|
+
data.tar.gz: 95024af2bf44713b79f9c6c019ce41f3ae440095484d2868a6143286a1f02bd9fd86ce2d34db320f09dd0a5565e00cc16a865c36e55fb7a265469570109aed70
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/gogreen.rb
CHANGED
@@ -11,15 +11,16 @@ require 'tempfile'
|
|
11
11
|
|
12
12
|
|
13
13
|
class Gg
|
14
|
-
|
15
|
-
def self.call(argsx)
|
16
|
-
puts GoGreen.new(argsx.first).execute(argsx[1], argsx[2..-1]).to_s
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.run(argsx)
|
20
|
-
puts GoGreen.new(argsx.first
|
21
|
-
|
22
|
-
|
14
|
+
|
15
|
+
def self.call(argsx)
|
16
|
+
puts GoGreen.new(argsx.first).execute(argsx[1], argsx[2..-1]).to_s
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.run(argsx, keepalive: false)
|
20
|
+
puts GoGreen.new(argsx.first, keepalive: keepalive)\
|
21
|
+
.execute(argsx[1], argsx[2..-1]).to_s
|
22
|
+
end
|
23
|
+
|
23
24
|
end
|
24
25
|
|
25
26
|
class GoGreenException < Exception
|
@@ -27,17 +28,19 @@ end
|
|
27
28
|
|
28
29
|
class GoGreen
|
29
30
|
|
30
|
-
def initialize(alias_file, site=nil, subdomain=nil, shell_execute: true,
|
31
|
+
def initialize(alias_file, site=nil, subdomain=nil, shell_execute: true,
|
32
|
+
rsc: nil, keepalive: false)
|
31
33
|
super()
|
32
34
|
|
33
|
-
@shell_execute, @rsc = shell_execute, rsc
|
35
|
+
@shell_execute, @rsc, @alias_file = shell_execute, rsc, alias_file
|
36
|
+
@keepalive = keepalive
|
37
|
+
|
38
|
+
buffer = RXFReader.read(alias_file).first
|
34
39
|
|
35
|
-
buffer = RXFHelper.read(alias_file, auto: false).first
|
36
|
-
|
37
40
|
name = case buffer
|
38
41
|
when /^<\?dynarex/
|
39
42
|
@records = dxread(buffer)
|
40
|
-
when /^<\?polyrex/
|
43
|
+
when /^<\?polyrex/
|
41
44
|
@records, @conf = pxread(buffer, site, subdomain)
|
42
45
|
else
|
43
46
|
raise GoGreenException, 'alias file ' + alias_file + ' not recognised'
|
@@ -50,62 +53,75 @@ class GoGreen
|
|
50
53
|
|
51
54
|
alias_found = @records[alias_name]
|
52
55
|
return 'job not found' unless alias_found
|
53
|
-
|
56
|
+
|
54
57
|
cmd = alias_found[:body][:command]
|
55
58
|
cmd += ' ' + @conf if @conf
|
56
|
-
|
59
|
+
|
57
60
|
if cmd[/^rcscript/] then
|
58
61
|
|
59
|
-
a = cmd.sub(/^rcscript /,'').split + job_args.map do |x|
|
60
|
-
x.sub(/^["'](.*)["']$/,'\1')
|
62
|
+
a = cmd.sub(/^rcscript /,'').split + job_args.map do |x|
|
63
|
+
x.sub(/^["'](.*)["']$/,'\1')
|
61
64
|
end
|
62
65
|
|
63
66
|
raw_code, args = RScript.new.read a
|
64
|
-
|
67
|
+
|
65
68
|
begin
|
66
69
|
|
67
70
|
if @shell_execute then
|
68
|
-
|
71
|
+
|
69
72
|
a = raw_code.strip.lines
|
70
73
|
a.unshift 'args = ' + args.inspect + "\n\n"
|
71
74
|
lastline = a.pop
|
72
75
|
a.push('puts ' + lastline)
|
73
76
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
77
|
+
var = '$alias_file = ' + @alias_file.inspect
|
78
|
+
code2 = "$0 = 'gogreen'\n" + var +"\n" + a.join.gsub('\"','"')\
|
79
|
+
.gsub('\#','#')
|
80
|
+
|
81
|
+
file = Tempfile.new('gogreen')
|
82
|
+
code3 = @keepalive ? apply_handler(code2) : code2
|
83
|
+
file.write(code3)
|
78
84
|
file.close
|
79
85
|
puts 'before ruby'
|
80
86
|
r = `ruby #{file.path}`
|
81
87
|
r.strip
|
82
88
|
#pipe = IO.popen("ruby", "w")
|
83
89
|
#pipe.write code2
|
84
|
-
#pipe.close
|
85
|
-
|
90
|
+
#pipe.close
|
91
|
+
|
86
92
|
else
|
87
93
|
|
88
|
-
|
94
|
+
code3 = @keepalive ? apply_handler(raw_code) : raw_code
|
95
|
+
result = eval(code3)
|
89
96
|
|
90
97
|
end
|
91
|
-
|
98
|
+
|
92
99
|
rescue
|
93
100
|
($!).to_s[/^[^\n]+/].to_s
|
94
|
-
end
|
95
|
-
|
101
|
+
end
|
102
|
+
|
96
103
|
elsif cmd[/^rsc/] and @rsc
|
97
|
-
|
104
|
+
|
98
105
|
package, job, args = cmd.sub(/^rsc/,'').split + job_args
|
99
106
|
@rsc.send(package.to_sym).send(job.to_sym, *args)
|
100
|
-
|
101
|
-
else
|
107
|
+
|
108
|
+
else
|
102
109
|
`#{cmd} #{job_args.join(' ')}`
|
103
|
-
end
|
104
|
-
|
110
|
+
end
|
111
|
+
|
105
112
|
end
|
106
113
|
|
107
114
|
private
|
108
115
|
|
116
|
+
def apply_handler(s)
|
117
|
+
|
118
|
+
"begin
|
119
|
+
#{s}
|
120
|
+
rescue
|
121
|
+
retry
|
122
|
+
end"
|
123
|
+
end
|
124
|
+
|
109
125
|
def dxread(s)
|
110
126
|
|
111
127
|
dx = Dynarex.new
|
@@ -115,7 +131,7 @@ class GoGreen
|
|
115
131
|
|
116
132
|
dx2 = Dynarex.new.parse dx.summary[:include]
|
117
133
|
dx2.records.merge(dx.records)
|
118
|
-
else
|
134
|
+
else
|
119
135
|
dx.records
|
120
136
|
end
|
121
137
|
|
@@ -124,7 +140,7 @@ class GoGreen
|
|
124
140
|
|
125
141
|
def pxread(buffer, site, subdomain)
|
126
142
|
|
127
|
-
px = Polyrex.new
|
143
|
+
px = Polyrex.new
|
128
144
|
|
129
145
|
px.parse buffer
|
130
146
|
|
@@ -138,7 +154,7 @@ class GoGreen
|
|
138
154
|
|
139
155
|
r
|
140
156
|
end
|
141
|
-
|
157
|
+
|
142
158
|
end
|
143
159
|
|
144
160
|
if $0 == __FILE__ then
|
@@ -146,6 +162,6 @@ if $0 == __FILE__ then
|
|
146
162
|
alias_file, alias_name, *job_args = ARV
|
147
163
|
|
148
164
|
gg = GoGreen.new alias_file
|
149
|
-
gg.execute alias_name, job_args
|
165
|
+
gg.execute alias_name, job_args
|
150
166
|
|
151
167
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gogreen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -11,31 +11,31 @@ cert_chain:
|
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
14
|
+
YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMjIyMjA1NzI4WhcN
|
15
|
+
MjMwMjIyMjA1NzI4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
|
16
|
+
cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDezdzj
|
17
|
+
EndqLWMQSR0NHJe8yA0H9qmF+bAlqvXE5ePshGQGzcpAlwD79v125UP/DACdd/wc
|
18
|
+
J5xfXTL+hxAjd6ZbslDblMBf8takWIhZtsXywBy5PldTFBPpseNDMHfeJ6obSMkJ
|
19
|
+
k3wB+S7SzwaS9kdliEnW8cAa0ktt9UA/91OsH6J25KQon1jf7WUUQAoQHuWURW8t
|
20
|
+
KMKeMYmNlBbryS/0XJnVYaJfouRUEWFADELOPrND8iWcIRT4kBWJBlCVdbIqThR+
|
21
|
+
BQKtaWLnDk2ix1bGxZ9mPuXOBbx1gV6Us3yw4VRWzBZe40JCDK+KzjLpI2iNFNmw
|
22
|
+
NdNanQxqp22M9HwS66x13lTECx0QTu7Q694DEZbTu9hRqrEFlifhVhbn5JZYIci8
|
23
|
+
rbeJ+sJTHDUbma5bwXGwmS4luCpGPUj/0c4HN0T0YKg7L6WOSThm1GK1w0YuHEmm
|
24
|
+
kOVDrzGFvq+9ANXZNl67ytEz5xlh/p8d8KAgz9gklu7gJfxoIG/Qjw7b6vECAwEA
|
25
|
+
AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUTVm2R2rm
|
26
|
+
gePBSfpNfmrXbHmOQwMwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
|
27
27
|
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
28
|
+
BgkqhkiG9w0BAQsFAAOCAYEAcXZkNc+5SJjrQYqoEn3ZBhD8231fUnW4jeTQEQ/u
|
29
|
+
GbjdmabP4hEuFI8Nn2bQvqE3l7rNdTfLIfA7hjFNkdUHFV6Zup0bjyqiczoee9lB
|
30
|
+
UPFC1+IAXIzEb2fmxYgGJLj7dZgxiWHSHJOgrpapA//CrQtflZf+rIbU2IG6yE16
|
31
|
+
rdguqkUhrBUrs22ypjcQVhWYgPKH+Pu3IV1Xy1FJnDsXk+ljmC2BoN4bYUoxmwYD
|
32
|
+
oSEBRroFppqyohfEBqYH4PXRbEAOIYdAendr9gEcRp28SB9wkam+NkriEU+m/OJx
|
33
|
+
FcL2RWltvpdYc9gvPq65+YDFdvMg33msgeLY1DjVlACvIEh84xTTO9JcV9D2i6f+
|
34
|
+
oKuMLy+D9X6GZK1zbZL1iMkgICaonHX+xku3t/HhWHPgq+PPeQRfPr/l7c+3VkwU
|
35
|
+
iPi5mvMSYhjRyrqmi4kccwQog3eCjY5QNxO+ACal7fg271yIbBczwhYusmxVIQk+
|
36
|
+
s71DHlLeQafzSqs3B7oOCtAW
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2022-02-22 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: rscript
|
@@ -43,40 +43,40 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0.
|
46
|
+
version: '0.9'
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
49
|
+
version: 0.9.0
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: '0.
|
56
|
+
version: '0.9'
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
59
|
+
version: 0.9.0
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: dynarex
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '1.
|
66
|
+
version: '1.9'
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 1.
|
69
|
+
version: 1.9.5
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '1.
|
76
|
+
version: '1.9'
|
77
77
|
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: 1.
|
79
|
+
version: 1.9.5
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: acronym
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,20 +103,20 @@ dependencies:
|
|
103
103
|
requirements:
|
104
104
|
- - "~>"
|
105
105
|
- !ruby/object:Gem::Version
|
106
|
-
version: '1.
|
106
|
+
version: '1.4'
|
107
107
|
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 1.
|
109
|
+
version: 1.4.0
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '1.
|
116
|
+
version: '1.4'
|
117
117
|
- - ">="
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: 1.
|
119
|
+
version: 1.4.0
|
120
120
|
- !ruby/object:Gem::Dependency
|
121
121
|
name: optparse-simple
|
122
122
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,7 +138,7 @@ dependencies:
|
|
138
138
|
- !ruby/object:Gem::Version
|
139
139
|
version: 0.4.5
|
140
140
|
description:
|
141
|
-
email:
|
141
|
+
email: digital.robertson@gmail.com
|
142
142
|
executables: []
|
143
143
|
extensions: []
|
144
144
|
extra_rdoc_files: []
|
@@ -163,7 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
163
|
- !ruby/object:Gem::Version
|
164
164
|
version: '0'
|
165
165
|
requirements: []
|
166
|
-
rubygems_version: 3.
|
166
|
+
rubygems_version: 3.2.22
|
167
167
|
signing_key:
|
168
168
|
specification_version: 4
|
169
169
|
summary: Run RSF jobs from the command line using a Dynarex flavoured aliases file.
|
metadata.gz.sig
CHANGED
Binary file
|