answersengine 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/answersengine/cli.rb +3 -0
- data/lib/answersengine/cli/scraper.rb +3 -0
- data/lib/answersengine/cli/scraper_job.rb +4 -0
- data/lib/answersengine/cli/scraper_job_var.rb +48 -0
- data/lib/answersengine/cli/scraper_var.rb +48 -0
- data/lib/answersengine/client.rb +2 -0
- data/lib/answersengine/client/scraper_job_var.rb +28 -0
- data/lib/answersengine/client/scraper_var.rb +28 -0
- data/lib/answersengine/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f2cae0b108477738464b3850caa5409cf0262d5
|
4
|
+
data.tar.gz: 8ccf57b51e24ee5dc19dd0c8a55b55840e597274
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 015c71d29870ce0fec136e894c6fc5a05bbf889adda5bad7493f63e989f6cc783df3fd92fc46c5485a87514848d07438f323c3338f1505c166a73b752c6415de
|
7
|
+
data.tar.gz: ab8e0772e2cbf04c0eff48872651fdb5847973343e45b31f4820e559e4c361678b54a385dadb4ad20ed42a72f15223254824ffe9e3a43518b2da0e811137b2f7
|
data/lib/answersengine/cli.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
require 'thor'
|
2
2
|
require 'answersengine/scraper'
|
3
|
+
require 'answersengine/cli/scraper_var'
|
3
4
|
require 'answersengine/cli/scraper_exporter'
|
4
5
|
require 'answersengine/cli/scraper_export'
|
6
|
+
require 'answersengine/cli/scraper_job_var'
|
5
7
|
require 'answersengine/cli/scraper_job'
|
6
8
|
require 'answersengine/cli/global_page'
|
7
9
|
require 'answersengine/cli/scraper_page'
|
@@ -15,6 +17,7 @@ require 'answersengine/cli/finisher'
|
|
15
17
|
require 'answersengine/cli/env_var'
|
16
18
|
|
17
19
|
|
20
|
+
|
18
21
|
module AnswersEngine
|
19
22
|
class CLI < Thor
|
20
23
|
desc "scraper SUBCOMMAND ...ARGS", "manage scrapers"
|
@@ -172,6 +172,9 @@ module AnswersEngine
|
|
172
172
|
desc "exporter SUBCOMMAND ...ARGS", "manage scraper's exporters"
|
173
173
|
subcommand "exporter", ScraperExporter
|
174
174
|
|
175
|
+
desc "var SUBCOMMAND ...ARGS", "for managing scraper's variables"
|
176
|
+
subcommand "var", ScraperVar
|
177
|
+
|
175
178
|
|
176
179
|
end
|
177
180
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module AnswersEngine
|
2
|
+
class CLI < Thor
|
3
|
+
class ScraperJobVar < Thor
|
4
|
+
|
5
|
+
package_name "job var"
|
6
|
+
def self.banner(command, namespace = nil, subcommand = false)
|
7
|
+
"#{basename} scraper #{@package_name} #{command.usage}"
|
8
|
+
end
|
9
|
+
|
10
|
+
desc "list <scraper_name>", "List environment variables on the scrape job"
|
11
|
+
long_desc <<-LONGDESC
|
12
|
+
List all environment variables on the scrape job.
|
13
|
+
LONGDESC
|
14
|
+
option :page, :aliases => :p, type: :numeric, desc: 'Get the next set of records by page.'
|
15
|
+
option :per_page, :aliases => :P, type: :numeric, desc: 'Number of records per page. Max 500 per page.'
|
16
|
+
def list(scraper_name)
|
17
|
+
client = Client::ScraperJobVar.new(options)
|
18
|
+
puts "#{client.all(scraper_name)}"
|
19
|
+
end
|
20
|
+
|
21
|
+
desc "set <scraper_name> <var_name> <value>", "Set an environment var on the scrape job"
|
22
|
+
long_desc <<-LONGDESC
|
23
|
+
Creates an environment variable\x5
|
24
|
+
<var_name>: Var name can only consist of alphabets, numbers, underscores. Name must be unique to your scrape job, otherwise it will be overwritten.\x5
|
25
|
+
<value>: Value of variable.\x5
|
26
|
+
LONGDESC
|
27
|
+
option :secret, type: :boolean, desc: 'Set true to make it decrypt the value. Default: false'
|
28
|
+
def set(scraper_name, var_name, value)
|
29
|
+
# puts "options #{options}"
|
30
|
+
client = Client::ScraperJobVar.new(options)
|
31
|
+
puts "#{client.set(scraper_name, var_name, value, options)}"
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "show <scraper_name> <var_name>", "Show an environment variable on the scrape job"
|
35
|
+
def show(scraper_name, var_name)
|
36
|
+
client = Client::ScraperJobVar.new(options)
|
37
|
+
puts "#{client.find(scraper_name, var_name)}"
|
38
|
+
end
|
39
|
+
|
40
|
+
desc "unset <scraper_name> <var_name>", "Deletes an environment variable on the scrape job"
|
41
|
+
def unset(scraper_name, var_name)
|
42
|
+
client = Client::ScraperJobVar.new(options)
|
43
|
+
puts "#{client.unset(scraper_name, var_name)}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module AnswersEngine
|
2
|
+
class CLI < Thor
|
3
|
+
class ScraperVar < Thor
|
4
|
+
|
5
|
+
package_name "scraper var"
|
6
|
+
def self.banner(command, namespace = nil, subcommand = false)
|
7
|
+
"#{basename} #{@package_name} #{command.usage}"
|
8
|
+
end
|
9
|
+
|
10
|
+
desc "list <scraper_name>", "List environment variables on the scraper"
|
11
|
+
long_desc <<-LONGDESC
|
12
|
+
List all environment variables on the scraper.
|
13
|
+
LONGDESC
|
14
|
+
option :page, :aliases => :p, type: :numeric, desc: 'Get the next set of records by page.'
|
15
|
+
option :per_page, :aliases => :P, type: :numeric, desc: 'Number of records per page. Max 500 per page.'
|
16
|
+
def list(scraper_name)
|
17
|
+
client = Client::ScraperVar.new(options)
|
18
|
+
puts "#{client.all(scraper_name)}"
|
19
|
+
end
|
20
|
+
|
21
|
+
desc "set <scraper_name> <var_name> <value>", "Set an environment var on the scraper"
|
22
|
+
long_desc <<-LONGDESC
|
23
|
+
Creates an environment variable\x5
|
24
|
+
<var_name>: Var name can only consist of alphabets, numbers, underscores. Name must be unique to your scraper, otherwise it will be overwritten.\x5
|
25
|
+
<value>: Value of variable.\x5
|
26
|
+
LONGDESC
|
27
|
+
option :secret, type: :boolean, desc: 'Set true to make it decrypt the value. Default: false'
|
28
|
+
def set(scraper_name, var_name, value)
|
29
|
+
# puts "options #{options}"
|
30
|
+
client = Client::ScraperVar.new(options)
|
31
|
+
puts "#{client.set(scraper_name, var_name, value, options)}"
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "show <scraper_name> <var_name>", "Show an environment variable on the scraper"
|
35
|
+
def show(scraper_name, var_name)
|
36
|
+
client = Client::ScraperVar.new(options)
|
37
|
+
puts "#{client.find(scraper_name, var_name)}"
|
38
|
+
end
|
39
|
+
|
40
|
+
desc "unset <scraper_name> <var_name>", "Deletes an environment variable on the scraper"
|
41
|
+
def unset(scraper_name, var_name)
|
42
|
+
client = Client::ScraperVar.new(options)
|
43
|
+
puts "#{client.unset(scraper_name, var_name)}"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
data/lib/answersengine/client.rb
CHANGED
@@ -18,6 +18,8 @@ require "answersengine/client/job_output"
|
|
18
18
|
require "answersengine/client/job_stat"
|
19
19
|
require "answersengine/client/backblaze_content"
|
20
20
|
require "answersengine/client/env_var"
|
21
|
+
require "answersengine/client/scraper_var"
|
22
|
+
require "answersengine/client/scraper_job_var"
|
21
23
|
|
22
24
|
|
23
25
|
module AnswersEngine
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module AnswersEngine
|
2
|
+
module Client
|
3
|
+
class ScraperJobVar < AnswersEngine::Client::Base
|
4
|
+
|
5
|
+
def find(scraper_name, var_name)
|
6
|
+
self.class.get("/scrapers/#{scraper_name}/current_job/vars/#{var_name}", @options)
|
7
|
+
end
|
8
|
+
|
9
|
+
def all(scraper_name, opts={})
|
10
|
+
params = @options.merge opts
|
11
|
+
self.class.get("/scrapers/#{scraper_name}/current_job/vars", params)
|
12
|
+
end
|
13
|
+
|
14
|
+
def set(scraper_name, var_name, value, opts={})
|
15
|
+
body = {}
|
16
|
+
body[:value] = value
|
17
|
+
body[:secret] = opts[:secret] if opts[:secret]
|
18
|
+
params = @options.merge({body: body.to_json})
|
19
|
+
self.class.put("/scrapers/#{scraper_name}/current_job/vars/#{var_name}", params)
|
20
|
+
end
|
21
|
+
|
22
|
+
def unset(scraper_name, var_name, opts={})
|
23
|
+
params = @options.merge(opts)
|
24
|
+
self.class.delete("/scrapers/#{scraper_name}/current_job/vars/#{var_name}", params)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module AnswersEngine
|
2
|
+
module Client
|
3
|
+
class ScraperVar < AnswersEngine::Client::Base
|
4
|
+
|
5
|
+
def find(scraper_name, var_name)
|
6
|
+
self.class.get("/scrapers/#{scraper_name}/vars/#{var_name}", @options)
|
7
|
+
end
|
8
|
+
|
9
|
+
def all(scraper_name, opts={})
|
10
|
+
params = @options.merge opts
|
11
|
+
self.class.get("/scrapers/#{scraper_name}/vars", params)
|
12
|
+
end
|
13
|
+
|
14
|
+
def set(scraper_name, var_name, value, opts={})
|
15
|
+
body = {}
|
16
|
+
body[:value] = value
|
17
|
+
body[:secret] = opts[:secret] if opts[:secret]
|
18
|
+
params = @options.merge({body: body.to_json})
|
19
|
+
self.class.put("/scrapers/#{scraper_name}/vars/#{var_name}", params)
|
20
|
+
end
|
21
|
+
|
22
|
+
def unset(scraper_name, var_name, opts={})
|
23
|
+
params = @options.merge(opts)
|
24
|
+
self.class.delete("/scrapers/#{scraper_name}/vars/#{var_name}", params)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: answersengine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Parama Danoesubroto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-09-
|
11
|
+
date: 2019-09-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -200,7 +200,9 @@ files:
|
|
200
200
|
- lib/answersengine/cli/scraper_export.rb
|
201
201
|
- lib/answersengine/cli/scraper_exporter.rb
|
202
202
|
- lib/answersengine/cli/scraper_job.rb
|
203
|
+
- lib/answersengine/cli/scraper_job_var.rb
|
203
204
|
- lib/answersengine/cli/scraper_page.rb
|
205
|
+
- lib/answersengine/cli/scraper_var.rb
|
204
206
|
- lib/answersengine/cli/seeder.rb
|
205
207
|
- lib/answersengine/client.rb
|
206
208
|
- lib/answersengine/client/auth_token.rb
|
@@ -223,6 +225,8 @@ files:
|
|
223
225
|
- lib/answersengine/client/scraper_job.rb
|
224
226
|
- lib/answersengine/client/scraper_job_output.rb
|
225
227
|
- lib/answersengine/client/scraper_job_page.rb
|
228
|
+
- lib/answersengine/client/scraper_job_var.rb
|
229
|
+
- lib/answersengine/client/scraper_var.rb
|
226
230
|
- lib/answersengine/plugin.rb
|
227
231
|
- lib/answersengine/plugin/context_exposer.rb
|
228
232
|
- lib/answersengine/scraper.rb
|