gogreen 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|