power-bi 0.5.1 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 224785a18f8d396ddcbaecad4d5a260cf2c649c7489fff90cc78bfa4e76bfd01
4
- data.tar.gz: 6d02bf193c750f67970649e5d16ed5ec0b43a596cae04086b954e82694f99d24
3
+ metadata.gz: 5a12ddf71e1ea1afad2cd5f4c7b059539cbc23da4a3e19834ad63bd6e62863ea
4
+ data.tar.gz: 4960812cbfdcd0459afb47ff934177a289d5d0726e95e19c7d9f230b235fcbf6
5
5
  SHA512:
6
- metadata.gz: e9bdcd1a4bd26a77fb5dd53c16f9a62a4e6cc62ac0387a4f3bd8b5d2ec6da1f2f3bd17c2a1d1c3088e0e2499cf31d243858cf8f86f6415e34cb2908fb0a482d6
7
- data.tar.gz: 21a80c1eecb83a3a8f42e24713f1283001e5bd69aee88229bcf3bb745cae2dce23434a9a7ea798d3c6fdc2813ba162a986298753bb465fd6bd4b33fa3268a43d
6
+ metadata.gz: b3ca5f092ba2f179e77fdb16fa3f984886d59c4ba10b5d3744038d15c56f5fdf59e37962c9a1fb543b9babcf84eea425a916869431354a480eae99493526f1e1
7
+ data.tar.gz: 02044abfa2f718990f7584405b8ea5a4d6a2314c2aa00ea6465f7ad2da24c863d8294601f526b9fee8914d5f5f5656355be4c168472dc05fa68ca3080427fa74
@@ -36,6 +36,14 @@ module PowerBI
36
36
  true
37
37
  end
38
38
 
39
+ def export_to_file(format: 'PDF')
40
+ @tenant.post("/groups/#{workspace.id}/reports/#{id}/ExportTo") do |req|
41
+ req.body = {
42
+ format: format
43
+ }.to_json
44
+ end
45
+ end
46
+
39
47
  end
40
48
 
41
49
  class ReportArray < Array
@@ -14,17 +14,23 @@ module PowerBI
14
14
  @datasets = DatasetArray.new(@tenant, self)
15
15
  end
16
16
 
17
- def upload_pbix(file, dataset_name)
17
+ def upload_pbix(file, dataset_name, timeout: 30)
18
18
  data = @tenant.post_file("/groups/#{@id}/imports", file, {datasetDisplayName: dataset_name})
19
19
  import_id = data[:id]
20
20
  success = false
21
21
  iterations = 0
22
+ status_history = ''
23
+ old_status = ''
22
24
  while !success
23
25
  sleep 0.1
24
26
  iterations += 1
25
- raise UploadError if iterations > 300 # 30 seconds
26
- status = @tenant.get("/groups/#{@id}/imports/#{import_id}")
27
- success = (status[:importState] == "Succeeded")
27
+ raise UploadError.new("Upload did not succeed after #{timeout} seconds. Status history:#{status_history}") if iterations > (10 * timeout)
28
+ new_status = @tenant.get("/groups/#{@id}/imports/#{import_id}")[:importState].to_s
29
+ success = (new_status == "Succeeded")
30
+ if new_status != old_status
31
+ status_history += "\nStatus change after #{iterations/10.0}s: '#{old_status}' --> '#{new_status}'"
32
+ old_status = new_status
33
+ end
28
34
  end
29
35
  @reports.reload
30
36
  @datasets.reload
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: power-bi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lode Cools
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-27 00:00:00.000000000 Z
11
+ date: 2020-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -74,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  requirements: []
77
- rubygems_version: 3.0.3
77
+ rubygems_version: 3.1.4
78
78
  signing_key:
79
79
  specification_version: 4
80
80
  summary: Ruby wrapper for the Power BI API