rscript 0.4.2 → 0.4.3
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.tar.gz.sig +0 -0
- data/lib/rscript.rb +22 -32
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26b394eea73f4ae8bc13a0931a2b04486c95d444
|
4
|
+
data.tar.gz: 75326f182b1e231f64e435c92c45353bed50805c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1006ebf6b87ad01b3b9439f560ad8818fa75a2cab735ac18c00092e7e723ee794a3e0ec4c5fbb47549cb10b2abd248e38b440f0fa91648ac5eb3ed40bc9268d3
|
7
|
+
data.tar.gz: c66bf47997cc89e084c5eebfa0fc3d3509eb324e75614a40dd1f4ab720e6b6bf7fa04238198a068a87d2956eaf9b4583575dbfe4f9089190d2558eeb6e2616d4
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/rscript.rb
CHANGED
@@ -46,37 +46,38 @@ require 'rexle'
|
|
46
46
|
|
47
47
|
class RScript < RScriptBase
|
48
48
|
|
49
|
-
def initialize(log: nil, pkg_src: '', cache: 5)
|
49
|
+
def initialize(log: nil, pkg_src: '', cache: 5, debug: false, type: 'job')
|
50
50
|
|
51
51
|
@log = log
|
52
52
|
@cache = cache
|
53
53
|
@rsf_cache = HashCache.new({cache: cache}) if cache > 0
|
54
|
+
@debug = debug
|
55
|
+
@jobname = type
|
54
56
|
|
55
57
|
end
|
56
58
|
|
57
|
-
def read(
|
59
|
+
def read(raw_args=[])
|
58
60
|
|
61
|
+
args = raw_args.clone
|
59
62
|
@log.info 'RScript/read: args: ' + args.inspect if @log
|
60
63
|
|
61
64
|
threads = []
|
62
65
|
|
63
|
-
if args.to_s[
|
64
|
-
|
65
|
-
ajob = []
|
66
|
-
|
66
|
+
if args.to_s[/\/\/#{@jobname}:/] then
|
67
|
+
ajob = ''
|
67
68
|
args.each_index do |i|
|
68
|
-
if args[i].to_s[
|
69
|
-
ajob
|
69
|
+
if args[i].to_s[/\/\/#{@jobname}:/] then
|
70
|
+
ajob = "@id='#{$'}'"; args[i] = nil
|
71
|
+
puts 'ajob: ' + ajob.inspect
|
70
72
|
end
|
71
73
|
end
|
72
74
|
|
73
75
|
args.compact!
|
74
76
|
|
75
|
-
out = read_rsf(args) do |doc|
|
76
|
-
doc.root.
|
77
|
-
|
78
|
-
|
79
|
-
end
|
77
|
+
out, attr = read_rsf(args) do |doc|
|
78
|
+
job = doc.root.element("//#{@jobname}[#{ajob}]")
|
79
|
+
[job.xpath('script').map {|s| read_script(s)}.join("\n"), job.attributes]
|
80
|
+
end
|
80
81
|
|
81
82
|
raise "job not found" unless out.length > 0
|
82
83
|
out
|
@@ -87,7 +88,7 @@ class RScript < RScriptBase
|
|
87
88
|
|
88
89
|
@log.info 'RScript/read: code: ' + out.inspect if @log
|
89
90
|
|
90
|
-
[out, args]
|
91
|
+
[out, args, attr]
|
91
92
|
end
|
92
93
|
|
93
94
|
def reset()
|
@@ -98,14 +99,15 @@ class RScript < RScriptBase
|
|
98
99
|
def run(raw_args, params={}, rws=self)
|
99
100
|
|
100
101
|
@log.info 'RScript/run: raw_args: ' + raw_args.inspect if @log
|
102
|
+
puts 'raw_args: ' + raw_args.inspect if @debug
|
101
103
|
|
102
|
-
if params[:splat] then
|
104
|
+
if params and params[:splat] then
|
103
105
|
params.each do |k,v|
|
104
106
|
params.delete k unless k == :splat or k == :package or k == :job or k == :captures
|
105
107
|
end
|
106
108
|
end
|
107
109
|
|
108
|
-
if params[:splat] and params[:splat].length > 0 then
|
110
|
+
if params and params[:splat] and params[:splat].length > 0 then
|
109
111
|
h = params[:splat].first[1..-1].split('&').inject({}) do |r,x|
|
110
112
|
k, v = x.split('=')
|
111
113
|
v ? r.merge(k[/\w+$/].to_sym => v) : r
|
@@ -113,27 +115,13 @@ class RScript < RScriptBase
|
|
113
115
|
params.merge! h
|
114
116
|
end
|
115
117
|
|
116
|
-
code2, args = self.read raw_args
|
117
|
-
|
118
|
+
code2, args, attr = self.read raw_args.clone
|
119
|
+
puts 'code2 : ' + code2.inspect if @debug
|
118
120
|
@log.info 'RScript/run: code2: ' + code2 if @log
|
119
121
|
|
120
122
|
begin
|
121
123
|
|
122
|
-
=begin
|
123
|
-
thread = Thread.new(code2) do |x|
|
124
|
-
|
125
|
-
begin
|
126
|
-
Thread.current['result'] = eval x
|
127
|
-
rescue
|
128
|
-
@logger.debug('RScript -> eval: ' + ($!).inspect) if @logger
|
129
|
-
end
|
130
|
-
|
131
|
-
end
|
132
|
-
thread.join
|
133
|
-
=end
|
134
|
-
#puts 'code2 :' + code2.inspect
|
135
124
|
r = eval code2
|
136
|
-
#r = thread['result']
|
137
125
|
|
138
126
|
params = {}
|
139
127
|
|
@@ -142,6 +130,7 @@ class RScript < RScriptBase
|
|
142
130
|
rescue Exception => e
|
143
131
|
params = {}
|
144
132
|
err_label = e.message.to_s + " :: \n" + e.backtrace.join("\n")
|
133
|
+
@log.debug 'rscrcript/error: ' + err_label
|
145
134
|
return err_label
|
146
135
|
end
|
147
136
|
|
@@ -151,6 +140,7 @@ class RScript < RScriptBase
|
|
151
140
|
|
152
141
|
def read_rsf(args=[])
|
153
142
|
|
143
|
+
puts 'args: ' + args.inspect if @debug
|
154
144
|
rsfile = args[0]; args.shift
|
155
145
|
|
156
146
|
$rsfile = rsfile[/[^\/]+(?=\.rsf)/]
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|