gazer 0.2.48 → 0.2.54

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0089f5a63cbc66ea6af8d6a096a88ebc6a8ff8efa905ee915d7295f4eb9a5cca'
4
- data.tar.gz: 1b6a3851ac1525597895d1d20004453c7cdad79b7e06d81a077b0902df6faee8
3
+ metadata.gz: 62185449c733517e6e3354b2faeb39e9a3b1bfbf61211c9296db1554979006fb
4
+ data.tar.gz: 5fe6d548b01e9fbb5bebf5807614a28b24f64bdd7bfdc1dd0e4fd1d50079a8ff
5
5
  SHA512:
6
- metadata.gz: b493b5b1c37e2f1647df0a3ee6fb7d776f895ded99e42c50a3dac839c7538ab3c321f944985c7d41d26d078d0cc16a0f6e2b756d9bec0802213a56e7ea718d90
7
- data.tar.gz: a706677249275c2b6e47f7237b2c89a64dd7257405959ce6433bcd47a63d25348fc892ebde2a29321426bfe479c6cda13f2397c1925daa9deb76c9a0569d2860
6
+ metadata.gz: 92692a5332311129b1cc7d49f73ec03170a4ab17b0f8c7b4c941ac022c11e73e8fdfa9ad520e349953aebbaa37d07c3ce6f2119f49ca4563064dbceaddd2bdfe
7
+ data.tar.gz: 0daba3450b0a3fe6ca302675c7730c14993b79a4a57f7a2c73b9b2c062698ede1e8d46e2c6efbbe3b1a7f29212918ceb16fe0a77c47f60c2ec404e2ffdabff4c
@@ -0,0 +1,16 @@
1
+ #!/bin/sh
2
+
3
+ BEFORE_MAJ=21
4
+ BEFORE_MIN=18
5
+ IFS=_ read -r maj min
6
+ if [ "$maj" -lt "$BEFORE_MAJ" ]; then
7
+ echo "${maj}_${min}"
8
+ elif [ "$maj" -eq "$BEFORE_MAJ" ]; then
9
+ if [ "$min" -lt "$BEFORE_MIN" ]; then
10
+ echo "${maj}_${min}"
11
+ else
12
+ echo "21_18"
13
+ fi
14
+ else
15
+ echo "21_18"
16
+ fi
@@ -17,7 +17,9 @@ jobs:
17
17
  release-type: ruby
18
18
  package-name: gazer
19
19
  bump-minor-pre-major: true
20
+ bump-patch-for-minor-pre-major: true
20
21
  version-file: "lib/gzr/version.rb"
22
+ token: ${{ secrets.LOS_AUTO_BOT_RP_TOKEN }}
21
23
  # Checkout code if release was created
22
24
  - uses: actions/checkout@v2
23
25
  if: ${{ steps.release.outputs.release_created }}
@@ -9,16 +9,21 @@ on:
9
9
  env:
10
10
  LOOKERSDK_BASE_URL: https://localhost:20000
11
11
  LOOKERSDK_VERIFY_SSL: false
12
- TS_JUNIT_OUTPUT_DIR: results/sdk-codegen
13
12
  LOOKERSDK_CLIENT_ID: ${{ secrets.LOOKERSDK_CLIENT_ID__21_18 }}
14
13
  LOOKERSDK_CLIENT_SECRET: ${{ secrets.LOOKERSDK_CLIENT_SECRET__21_18 }}
15
14
 
16
15
  jobs:
17
16
  test:
18
-
19
- runs-on: ubuntu-latest
17
+ name: Test - ${{ matrix.os }} / Looker.${{ matrix.looker }} / Ruby.${{ matrix.ruby-version }}
18
+ runs-on: ${{ matrix.os }}-latest
20
19
  strategy:
21
20
  matrix:
21
+ os:
22
+ - ubuntu
23
+ looker:
24
+ - '21_18'
25
+ - '21_20'
26
+ - '22_0'
22
27
  ruby-version: [2.5.8]
23
28
 
24
29
  steps:
@@ -38,11 +43,30 @@ jobs:
38
43
  # TODO: can we cache some layers of the image for faster download?
39
44
  # we probably don't want to cache the final image for IP security...
40
45
  run: |
41
- docker pull --quiet us-west1-docker.pkg.dev/cloud-looker-sdk-codegen-cicd/looker/21_18
46
+ docker pull --quiet us-west1-docker.pkg.dev/cloud-looker-sdk-codegen-cicd/looker/${{ matrix.looker }}
42
47
  # set $LOOKER_OPTS to --no-ssl if we want to turn off ssl
43
- docker run --name looker-sdk-codegen-ci -d -p 10000:9999 -p 20000:19999 us-west1-docker.pkg.dev/cloud-looker-sdk-codegen-cicd/looker/21_20
48
+ docker run --name looker-sdk-codegen-ci -d -p 10000:9999 -p 20000:19999 us-west1-docker.pkg.dev/cloud-looker-sdk-codegen-cicd/looker/${{ matrix.looker }}
44
49
  docker logs -f looker-sdk-codegen-ci --until=30s &
45
50
 
51
+ - name: Determine credentials version
52
+ # Prior to 21_18, each version had different credentials and a
53
+ # different secret. 21_20 and later all use the same credentials
54
+ # as 21_18. The parse_version.sh script parses the version and
55
+ # yields 21_12, 21_14, 21_16 etc for those versions but 21_18 for
56
+ # anything 21_18, 21_20, 22_0, etc.
57
+ #
58
+ # This can be factored out entirely once 21_18 is the earliest
59
+ # supported looker version.
60
+ run: |
61
+ echo "CREDENTIALS_VERSION=$(${{ github.workspace }}/.github/scripts/parse_version.sh <<< ${{ matrix.looker }})" >> $GITHUB_ENV
62
+
63
+ - name: Set up Looker credentials
64
+ # Load the correct credentials based on the version from
65
+ # the prior step.
66
+ run: |
67
+ echo "LOOKERSDK_CLIENT_ID=${{ secrets[format('LOOKERSDK_CLIENT_ID__{0}', env.CREDENTIALS_VERSION )] }}" >> $GITHUB_ENV
68
+ echo "LOOKERSDK_CLIENT_SECRET=${{ secrets[format('LOOKERSDK_CLIENT_SECRET__{0}', env.CREDENTIALS_VERSION )] }}" >> $GITHUB_ENV
69
+
46
70
  - name: Set up Ruby ${{ matrix.ruby-version }}
47
71
  uses: ruby/setup-ruby@v1
48
72
  with:
data/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ### [0.2.54](https://www.github.com/looker-open-source/gzr/compare/v0.2.53...v0.2.54) (2022-03-17)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Avoid API 4.0 for deprecation of spaces endpoint ([#124](https://www.github.com/looker-open-source/gzr/issues/124)) ([#125](https://www.github.com/looker-open-source/gzr/issues/125)) ([3823399](https://www.github.com/looker-open-source/gzr/commit/38233991bfc5456ac0cf3d485d12520f50a2ea76))
9
+
10
+ ### [0.2.53](https://www.github.com/looker-open-source/gzr/compare/v0.2.52...v0.2.53) (2021-12-14)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * fix version ([#121](https://www.github.com/looker-open-source/gzr/issues/121)) ([f9b0b22](https://www.github.com/looker-open-source/gzr/commit/f9b0b2237eb3c520aabc2f1ff5a63ddf6c934ce4))
16
+
17
+ ### [0.2.52](https://www.github.com/looker-open-source/gzr/compare/v0.2.51...v0.2.52) (2021-12-14)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * version number ([#119](https://www.github.com/looker-open-source/gzr/issues/119)) ([b55a892](https://www.github.com/looker-open-source/gzr/commit/b55a892d8d040ce4547924d613a590877e129322))
23
+
24
+ ### [0.2.51](https://www.github.com/looker-open-source/gzr/compare/v0.2.50...v0.2.51) (2021-12-14)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * detect if dashboard import gets a look file and vice versa, warn on importing a deleted dashboard or look ([#116](https://www.github.com/looker-open-source/gzr/issues/116)) ([a12dc25](https://www.github.com/looker-open-source/gzr/commit/a12dc2525bed55816b368306f2d05a24dc07aaf4))
30
+ * Gemfile.lock was out of date ([a4e49c3](https://www.github.com/looker-open-source/gzr/commit/a4e49c3972772e0629a8f1589172ddd136ee7e21))
31
+ * refactored look and dashboard cat commands and space export to use the same code to generate each look and dashboard file. ([#114](https://www.github.com/looker-open-source/gzr/issues/114)) ([8dadd50](https://www.github.com/looker-open-source/gzr/commit/8dadd500376e2b971c38dbcd69f507268a3e6b9e))
32
+ * remove Thor deprecation warning ([#115](https://www.github.com/looker-open-source/gzr/issues/115)) ([1100c5a](https://www.github.com/looker-open-source/gzr/commit/1100c5a24b0626c01c6248d87172c7ab624bf42f))
33
+
34
+ ### [0.2.50](https://www.github.com/looker-open-source/gzr/compare/v0.2.49...v0.2.50) (2021-11-19)
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * resolved warnings in gemspec. Improved handling of live tests ([6291147](https://www.github.com/looker-open-source/gzr/commit/6291147a09f55ed095d718a7a998d5af09b716e3))
40
+
3
41
  ### [0.2.49](https://www.github.com/looker-open-source/gzr/compare/v0.2.48...v0.2.49) (2021-11-18)
4
42
 
5
43
 
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gazer (0.2.48)
4
+ gazer (0.2.54)
5
5
  looker-sdk (~> 0.1.1)
6
- net-http-persistent (~> 4.0.1)
6
+ net-http-persistent (~> 4.0, >= 4.0.1)
7
7
  netrc (~> 0.11.0)
8
8
  pastel (~> 0.8.0)
9
- rubyzip (~> 1.3.0)
10
- thor (~> 1.1.0)
9
+ rubyzip (~> 1.3, >= 1.3.0)
10
+ thor (~> 1.1, >= 1.1.0)
11
11
  tty-reader (~> 0.9.0)
12
12
  tty-table (~> 0.12.0)
13
13
  tty-tree (~> 0.4.0)
@@ -19,26 +19,30 @@ GEM
19
19
  public_suffix (>= 2.0.2, < 5.0)
20
20
  connection_pool (2.2.5)
21
21
  diff-lcs (1.4.4)
22
- faraday (1.8.0)
22
+ faraday (1.10.0)
23
23
  faraday-em_http (~> 1.0)
24
24
  faraday-em_synchrony (~> 1.0)
25
25
  faraday-excon (~> 1.1)
26
- faraday-httpclient (~> 1.0.1)
26
+ faraday-httpclient (~> 1.0)
27
+ faraday-multipart (~> 1.0)
27
28
  faraday-net_http (~> 1.0)
28
- faraday-net_http_persistent (~> 1.1)
29
+ faraday-net_http_persistent (~> 1.0)
29
30
  faraday-patron (~> 1.0)
30
31
  faraday-rack (~> 1.0)
31
- multipart-post (>= 1.2, < 3)
32
+ faraday-retry (~> 1.0)
32
33
  ruby2_keywords (>= 0.0.4)
33
34
  faraday-em_http (1.0.0)
34
35
  faraday-em_synchrony (1.0.0)
35
36
  faraday-excon (1.1.0)
36
37
  faraday-httpclient (1.0.1)
38
+ faraday-multipart (1.0.3)
39
+ multipart-post (>= 1.2, < 3)
37
40
  faraday-net_http (1.0.1)
38
41
  faraday-net_http_persistent (1.2.0)
39
42
  faraday-patron (1.0.0)
40
43
  faraday-rack (1.0.0)
41
- looker-sdk (0.1.1)
44
+ faraday-retry (1.0.3)
45
+ looker-sdk (0.1.2)
42
46
  faraday (>= 1.2, < 2.0)
43
47
  sawyer (~> 0.8)
44
48
  multipart-post (2.1.1)
@@ -64,15 +68,15 @@ GEM
64
68
  rspec-support (3.10.2)
65
69
  ruby2_keywords (0.0.5)
66
70
  rubyzip (1.3.0)
67
- sawyer (0.8.2)
71
+ sawyer (0.9.0)
68
72
  addressable (>= 2.3.5)
69
- faraday (> 0.8, < 2.0)
73
+ faraday (>= 0.9, < 3)
70
74
  strings (0.2.1)
71
75
  strings-ansi (~> 0.2)
72
76
  unicode-display_width (>= 1.5, < 3.0)
73
77
  unicode_utils (~> 1.4)
74
78
  strings-ansi (0.2.0)
75
- thor (1.1.0)
79
+ thor (1.2.1)
76
80
  tty-color (0.6.0)
77
81
  tty-cursor (0.7.1)
78
82
  tty-reader (0.9.0)
@@ -93,9 +97,9 @@ PLATFORMS
93
97
  x86_64-linux
94
98
 
95
99
  DEPENDENCIES
96
- bundler (>= 2.2.10)
100
+ bundler (~> 2.2, >= 2.2.10)
97
101
  gazer!
98
- rake (~> 12.3.3)
102
+ rake (~> 12.3, >= 12.3.3)
99
103
  rspec (~> 3.0)
100
104
 
101
105
  RUBY VERSION
data/README.md CHANGED
@@ -5,7 +5,7 @@ and Dashboards via a simple command line tool.
5
5
 
6
6
  ## Status and Support
7
7
 
8
- As of November 2021, Looker Deployer is supported, but not warrantied by Bytecode IO, Inc. Issues and feature requests can be reported via https://github.com/llooker/looker_deployer/issues, which will be regularly monitored and prioritized by Bytecode IO, Inc., a preferred Looker consulting partner.
8
+ As of November 2021, Gazer is supported, but not warrantied by Bytecode IO, Inc. Issues and feature requests can be reported via https://github.com/looker-open-source/gzr/issues, which will be regularly monitored and prioritized by Bytecode IO, Inc., a preferred Looker consulting partner.
9
9
 
10
10
  ## Installation
11
11
 
data/gzr.gemspec CHANGED
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.email = ["drstrangelove@google.com"]
32
32
 
33
33
  spec.summary = %q{Command line tool to manage the content of a Looker instance.}
34
- spec.description = %q{Command line tool to manage the content of a Looker instance.}
34
+ spec.description = %q{This tool will help manage the content of a Looker instance.}
35
35
  spec.homepage = "https://github.com/looker-open-source/gzr"
36
36
 
37
37
  spec.required_ruby_version = '>= 2.3.0'
@@ -56,13 +56,13 @@ Gem::Specification.new do |spec|
56
56
  spec.add_dependency "tty-table", "~> 0.12.0"
57
57
  spec.add_dependency "tty-tree", "~> 0.4.0"
58
58
  spec.add_dependency "pastel", "~> 0.8.0"
59
- spec.add_dependency "thor", "~> 1.1.0"
59
+ spec.add_runtime_dependency 'thor', '~> 1.1', '>= 1.1.0'
60
60
  spec.add_dependency 'netrc', "~> 0.11.0"
61
- spec.add_dependency 'rubyzip', "~> 1.3.0"
61
+ spec.add_runtime_dependency 'rubyzip', '~> 1.3', '>= 1.3.0'
62
62
  spec.add_dependency 'looker-sdk', "~> 0.1.1"
63
- spec.add_dependency 'net-http-persistent', '~> 4.0.1'
63
+ spec.add_runtime_dependency 'net-http-persistent', '~> 4.0', '>= 4.0.1'
64
64
 
65
- spec.add_development_dependency "bundler", ">= 2.2.10"
66
- spec.add_development_dependency "rake", "~> 12.3.3"
65
+ spec.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.10'
66
+ spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
67
67
  spec.add_development_dependency "rspec", "~> 3.0"
68
68
  end
data/lib/gzr/cli.rb CHANGED
@@ -29,6 +29,10 @@ module Gzr
29
29
  #
30
30
  # @api public
31
31
  class CLI < Thor
32
+ def self.exit_on_failure?
33
+ true
34
+ end
35
+
32
36
  class_option :debug, type: :boolean, default: false, desc: 'Run in debug mode'
33
37
  class_option :host, type: :string, default: 'localhost', desc: 'Looker Host'
34
38
  class_option :port, type: :string, default: '19999', desc: 'Looker API Port'
@@ -43,29 +43,7 @@ module Gzr
43
43
  def execute(*args, input: $stdin, output: $stdout)
44
44
  say_warning("options: #{@options.inspect}") if @options[:debug]
45
45
  with_session("3.1") do
46
- data = query_dashboard(@dashboard_id).to_attrs
47
- data[:dashboard_elements].each_index do |i|
48
- element = data[:dashboard_elements][i]
49
- find_vis_config_reference(element) do |vis_config|
50
- find_color_palette_reference(vis_config) do |o,default_colors|
51
- rewrite_color_palette!(o,default_colors)
52
- end
53
- end
54
- merge_result = merge_query(element[:merge_result_id])&.to_attrs if element[:merge_result_id]
55
- if merge_result
56
- merge_result[:source_queries].each_index do |j|
57
- source_query = merge_result[:source_queries][j]
58
- merge_result[:source_queries][j][:query] = query(source_query[:query_id]).to_attrs
59
- end
60
- find_vis_config_reference(merge_result) do |vis_config|
61
- find_color_palette_reference(vis_config) do |o,default_colors|
62
- rewrite_color_palette!(o,default_colors)
63
- end
64
- end
65
- data[:dashboard_elements][i][:merge_result] = merge_result
66
- end
67
- end
68
- data[:scheduled_plans] = query_scheduled_plans_for_dashboard(@dashboard_id,"all").to_attrs if @options[:plans]
46
+ data = cat_dashboard(@dashboard_id)
69
47
 
70
48
  replacements = {}
71
49
  if @options[:transform]
@@ -53,8 +53,17 @@ module Gzr
53
53
 
54
54
  read_file(@file) do |data|
55
55
 
56
- dashboard = sync_dashboard(data,@dest_space_id, output: output)
56
+ if data[:deleted]
57
+ say_warning("Attempt to import a deleted dashboard!")
58
+ say_warning("This may result in errors.")
59
+ end
57
60
 
61
+ if !data[:dashboard_elements]
62
+ say_error("File contains no dashboard_elements! Is this a look?")
63
+ raise Gzr::CLI::Error, "import file is not a valid dashboard"
64
+ end
65
+
66
+ dashboard = sync_dashboard(data,@dest_space_id, output: output)
58
67
 
59
68
  dashboard[:dashboard_filters] ||= []
60
69
  source_filters = data[:dashboard_filters].sort { |a,b| a[:row] <=> b[:row] }
@@ -42,14 +42,7 @@ module Gzr
42
42
  def execute(input: $stdin, output: $stdout)
43
43
  say_warning("options: #{@options.inspect}") if @options[:debug]
44
44
  with_session do
45
- data = query_look(@look_id).to_attrs
46
- find_vis_config_reference(data) do |vis_config|
47
- find_color_palette_reference(vis_config) do |o,default_colors|
48
- rewrite_color_palette!(o,default_colors)
49
- end
50
- end
51
-
52
- data[:scheduled_plans] = query_scheduled_plans_for_look(@look_id,"all").to_attrs if @options[:plans]
45
+ data = cat_look(@look_id)
53
46
  file_name = if @options[:dir]
54
47
  @options[:simple_filename] ? "Look_#{data[:id]}.json" : "Look_#{data[:id]}_#{data[:title]}.json"
55
48
  else
@@ -49,6 +49,17 @@ module Gzr
49
49
  @me ||= query_me("id")
50
50
 
51
51
  read_file(@file) do |data|
52
+
53
+ if data[:deleted]
54
+ say_warning("Attempt to import a deleted look!")
55
+ say_warning("This may result in errors.")
56
+ end
57
+
58
+ if data[:dashboard_elements]
59
+ say_error("File contains dashboard_elements! Is this a dashboard?")
60
+ raise Gzr::CLI::Error, "import file is not a valid look"
61
+ end
62
+
52
63
  look = upsert_look(@me.id,create_fetch_query(data[:query]).id,@dest_space_id,data,output: output)
53
64
  upsert_plans_for_look(look.id,@me.id,data[:scheduled_plans]) if data[:scheduled_plans]
54
65
  output.puts "Imported look #{look.id}" unless @options[:plain]
@@ -25,6 +25,7 @@ require_relative '../../command'
25
25
  require_relative '../../modules/space'
26
26
  require_relative '../../modules/look'
27
27
  require_relative '../../modules/dashboard'
28
+ require_relative '../../modules/plan'
28
29
  require_relative '../../modules/filehelper'
29
30
  require 'pathname'
30
31
  require 'stringio'
@@ -37,6 +38,7 @@ module Gzr
37
38
  include Gzr::Space
38
39
  include Gzr::Look
39
40
  include Gzr::Dashboard
41
+ include Gzr::Plan
40
42
  include Gzr::FileHelper
41
43
  def initialize(space_id, options)
42
44
  super()
@@ -96,39 +98,13 @@ module Gzr
96
98
  end)
97
99
  end
98
100
  space[:looks].each do |l|
99
- look = query_look(l[:id]).to_attrs
100
- find_vis_config_reference(look) do |vis_config|
101
- find_color_palette_reference(vis_config) do |o,default_colors|
102
- rewrite_color_palette!(o,default_colors)
103
- end
104
- end
101
+ look = cat_look(l[:id])
105
102
  write_file("Look_#{look[:id]}_#{look[:title]}.json", base, path) do |f|
106
103
  f.write JSON.pretty_generate(look)
107
104
  end
108
105
  end
109
106
  space[:dashboards].each do |d|
110
- data = query_dashboard(d[:id]).to_attrs()
111
- data[:dashboard_elements].each_index do |i|
112
- element = data[:dashboard_elements][i]
113
- find_vis_config_reference(element) do |vis_config|
114
- find_color_palette_reference(vis_config) do |o,default_colors|
115
- rewrite_color_palette!(o,default_colors)
116
- end
117
- end
118
- merge_result = merge_query(element[:merge_result_id])&.to_attrs() if element[:merge_result_id]
119
- if merge_result
120
- merge_result[:source_queries].each_index do |j|
121
- source_query = merge_result[:source_queries][j]
122
- merge_result[:source_queries][j][:query] = query(source_query[:query_id]).to_attrs()
123
- end
124
- find_vis_config_reference(merge_result) do |vis_config|
125
- find_color_palette_reference(vis_config) do |o,default_colors|
126
- rewrite_color_palette!(o,default_colors)
127
- end
128
- end
129
- data[:dashboard_elements][i][:merge_result] = merge_result
130
- end
131
- end
107
+ data = cat_dashboard(d[:id])
132
108
  write_file("Dashboard_#{data[:id]}_#{data[:title]}.json", base, path) do |f|
133
109
  f.write JSON.pretty_generate(data)
134
110
  end
@@ -64,6 +64,8 @@ module Gzr
64
64
  desc 'export SPACE_ID', 'Export a space, including all child looks, dashboards, and spaces.'
65
65
  method_option :help, aliases: '-h', type: :boolean,
66
66
  desc: 'Display usage information'
67
+ method_option :plans, type: :boolean,
68
+ desc: 'Include scheduled plans'
67
69
  method_option :dir, type: :string, default: '.',
68
70
  desc: 'Directory to store output tree'
69
71
  method_option :tar, type: :string,
@@ -226,5 +226,32 @@ module Gzr
226
226
  end
227
227
  data
228
228
  end
229
+
230
+ def cat_dashboard(dashboard_id)
231
+ data = query_dashboard(dashboard_id).to_attrs
232
+ data[:dashboard_elements].each_index do |i|
233
+ element = data[:dashboard_elements][i]
234
+ find_vis_config_reference(element) do |vis_config|
235
+ find_color_palette_reference(vis_config) do |o,default_colors|
236
+ rewrite_color_palette!(o,default_colors)
237
+ end
238
+ end
239
+ merge_result = merge_query(element[:merge_result_id])&.to_attrs if element[:merge_result_id]
240
+ if merge_result
241
+ merge_result[:source_queries].each_index do |j|
242
+ source_query = merge_result[:source_queries][j]
243
+ merge_result[:source_queries][j][:query] = query(source_query[:query_id]).to_attrs
244
+ end
245
+ find_vis_config_reference(merge_result) do |vis_config|
246
+ find_color_palette_reference(vis_config) do |o,default_colors|
247
+ rewrite_color_palette!(o,default_colors)
248
+ end
249
+ end
250
+ data[:dashboard_elements][i][:merge_result] = merge_result
251
+ end
252
+ end
253
+ data[:scheduled_plans] = query_scheduled_plans_for_dashboard(@dashboard_id,"all")&.to_attrs if @options[:plans]
254
+ data
255
+ end
229
256
  end
230
257
  end
@@ -188,5 +188,17 @@ module Gzr
188
188
  end
189
189
  return create_merge_query(new_merge_result)
190
190
  end
191
+
192
+ def cat_look(look_id)
193
+ data = query_look(look_id).to_attrs
194
+ find_vis_config_reference(data) do |vis_config|
195
+ find_color_palette_reference(vis_config) do |o,default_colors|
196
+ rewrite_color_palette!(o,default_colors)
197
+ end
198
+ end
199
+
200
+ data[:scheduled_plans] = query_scheduled_plans_for_look(@look_id,"all")&.to_attrs if @options[:plans]
201
+ data
202
+ end
191
203
  end
192
204
  end
@@ -49,6 +49,9 @@ module Gzr
49
49
  data = nil
50
50
  begin
51
51
  data = @sdk.scheduled_plans_for_look(look_id,req)
52
+ return nil if data.respond_to?(:message) && data.message == 'Not found'
53
+ rescue LookerSDK::NotFound
54
+ return nil
52
55
  rescue LookerSDK::ClientError => e
53
56
  say_error "Unable to get scheduled_plans_for_look(#{look_id},#{JSON.pretty_generate(req)})"
54
57
  say_error e.message
@@ -65,6 +68,9 @@ module Gzr
65
68
  data = nil
66
69
  begin
67
70
  data = @sdk.scheduled_plans_for_dashboard(dashboard_id,req)
71
+ return nil if data.respond_to?(:message) && data.message == 'Not found'
72
+ rescue LookerSDK::NotFound
73
+ return nil
68
74
  rescue LookerSDK::ClientError => e
69
75
  say_error "Unable to get scheduled_plans_for_dashboard(#{dashboard_id},#{JSON.pretty_generate(req)})"
70
76
  say_error e.message
@@ -155,7 +155,7 @@ module Gzr
155
155
  begin
156
156
  versions_response = agent.call(:get,"/versions")
157
157
  @versions = versions_response.data.supported_versions
158
- @current_version = versions_response.data.current_version.version
158
+ @current_version = "3.1"
159
159
  rescue Faraday::SSLError => e
160
160
  raise Gzr::CLI::Error, "SSL Certificate could not be verified\nDo you need the --no-verify-ssl option or the --no-ssl option?"
161
161
  rescue Faraday::ConnectionFailed => cf
data/lib/gzr/version.rb CHANGED
@@ -20,5 +20,5 @@
20
20
  # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
22
  module Gzr
23
- VERSION = "0.2.48"
23
+ VERSION = '0.2.54'.freeze
24
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gazer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.48
4
+ version: 0.2.54
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike DeAngelo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-18 00:00:00.000000000 Z
11
+ date: 2022-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-reader
@@ -71,6 +71,9 @@ dependencies:
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.1'
76
+ - - ">="
74
77
  - !ruby/object:Gem::Version
75
78
  version: 1.1.0
76
79
  type: :runtime
@@ -78,6 +81,9 @@ dependencies:
78
81
  version_requirements: !ruby/object:Gem::Requirement
79
82
  requirements:
80
83
  - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '1.1'
86
+ - - ">="
81
87
  - !ruby/object:Gem::Version
82
88
  version: 1.1.0
83
89
  - !ruby/object:Gem::Dependency
@@ -99,6 +105,9 @@ dependencies:
99
105
  requirement: !ruby/object:Gem::Requirement
100
106
  requirements:
101
107
  - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.3'
110
+ - - ">="
102
111
  - !ruby/object:Gem::Version
103
112
  version: 1.3.0
104
113
  type: :runtime
@@ -106,6 +115,9 @@ dependencies:
106
115
  version_requirements: !ruby/object:Gem::Requirement
107
116
  requirements:
108
117
  - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '1.3'
120
+ - - ">="
109
121
  - !ruby/object:Gem::Version
110
122
  version: 1.3.0
111
123
  - !ruby/object:Gem::Dependency
@@ -127,6 +139,9 @@ dependencies:
127
139
  requirement: !ruby/object:Gem::Requirement
128
140
  requirements:
129
141
  - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '4.0'
144
+ - - ">="
130
145
  - !ruby/object:Gem::Version
131
146
  version: 4.0.1
132
147
  type: :runtime
@@ -134,12 +149,18 @@ dependencies:
134
149
  version_requirements: !ruby/object:Gem::Requirement
135
150
  requirements:
136
151
  - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: '4.0'
154
+ - - ">="
137
155
  - !ruby/object:Gem::Version
138
156
  version: 4.0.1
139
157
  - !ruby/object:Gem::Dependency
140
158
  name: bundler
141
159
  requirement: !ruby/object:Gem::Requirement
142
160
  requirements:
161
+ - - "~>"
162
+ - !ruby/object:Gem::Version
163
+ version: '2.2'
143
164
  - - ">="
144
165
  - !ruby/object:Gem::Version
145
166
  version: 2.2.10
@@ -147,6 +168,9 @@ dependencies:
147
168
  prerelease: false
148
169
  version_requirements: !ruby/object:Gem::Requirement
149
170
  requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '2.2'
150
174
  - - ">="
151
175
  - !ruby/object:Gem::Version
152
176
  version: 2.2.10
@@ -155,6 +179,9 @@ dependencies:
155
179
  requirement: !ruby/object:Gem::Requirement
156
180
  requirements:
157
181
  - - "~>"
182
+ - !ruby/object:Gem::Version
183
+ version: '12.3'
184
+ - - ">="
158
185
  - !ruby/object:Gem::Version
159
186
  version: 12.3.3
160
187
  type: :development
@@ -162,6 +189,9 @@ dependencies:
162
189
  version_requirements: !ruby/object:Gem::Requirement
163
190
  requirements:
164
191
  - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '12.3'
194
+ - - ">="
165
195
  - !ruby/object:Gem::Version
166
196
  version: 12.3.3
167
197
  - !ruby/object:Gem::Dependency
@@ -178,7 +208,7 @@ dependencies:
178
208
  - - "~>"
179
209
  - !ruby/object:Gem::Version
180
210
  version: '3.0'
181
- description: Command line tool to manage the content of a Looker instance.
211
+ description: This tool will help manage the content of a Looker instance.
182
212
  email:
183
213
  - drstrangelove@google.com
184
214
  executables:
@@ -186,6 +216,7 @@ executables:
186
216
  extensions: []
187
217
  extra_rdoc_files: []
188
218
  files:
219
+ - ".github/scripts/parse_version.sh"
189
220
  - ".github/scripts/wait_for_looker.sh"
190
221
  - ".github/workflows/release.yml"
191
222
  - ".github/workflows/ruby-ci.yml"