matterhorn_whymper 2.3.0 → 2.4.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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDNkYmY4Y2FjZWVjNjNlNzk2MGQyNzEwMGQyZjM0NDkyMDRiYWZhNg==
4
+ MTFjMzdiNmU2N2U5ZDEyMTZjMDY3Y2RhZGVkODA4YjAwYTczYjk4NQ==
5
5
  data.tar.gz: !binary |-
6
- OGIwOWViNmEwMzFkMWUzZDkyYmE1NWIzOTM0ZDcyNjQxN2Y1Y2Q4OQ==
6
+ NjhjYTViZDhkNTVlNzUxMWMyMDg1MDkxZDg2MTcyOWQ1YTE1YjRmZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MWUyMDUyZDFmNjE2YWVhZGZlZDFmNzI4YzQ1Njg5NDA5NTAwZmYwOTdlNzEz
10
- Y2Y4YjU1Y2UzMzY3YjYzNDM4YjJmNmQ5MWVkZDQzZDU3MTc4MjYyYzNhYjA1
11
- NTBiYmJkZDQ0YzRiNmU1ZGI4ZjBmYTY5OTNjYTY2MWVhZjI0NTU=
9
+ NzdmZDc4NjU5OTJlYTY5NDAxNjFiYmZiZGYxNWJhZDU5ZjA4YzM4ZTQ1MmI5
10
+ MzcyM2ZlYzAwYmYyY2MyNTNkY2UyYjFkZmVjMjU2YTQwNTBjOGU2Yzc1Y2Rj
11
+ YWNhMjJkMzNkMmYwZDgwYzU2OWM5Nzg2M2ZlNmRiZDY2MGQ2N2Q=
12
12
  data.tar.gz: !binary |-
13
- NTVlM2ZlMDU2NWFlZTAwNTIyMDgxZWZkNGUwMjk0ODVhNTc0ZDViNWQ4MGUy
14
- ZTM0ZDVjMTFiYjk0YWVlYzAzYTAxOTI1NTM5MWVjYzI2MTM3M2NmYzQ5Y2Zk
15
- ZTcxMjYxZDkyZTBmMWFlZjRhOWNmZmZkNmVlYzg1OWYzNzZmYWM=
13
+ ZWY0ZjJkMzg5ZjE0ZGIxOGI3YmQ1MDhkZDAxMTU3OWRiNTM2OTc3OWNhMTM0
14
+ MmQzNmZlMmU0NjQxNDIwYThlNDNjMDhjMzhlYzlkZDhmNGZjN2Y5MzUzMDRh
15
+ NmZmMDcxNTllMjVjZDMzNWUxY2U1YWEwZmU2MzRmZWM4ODc3M2E=
@@ -48,6 +48,42 @@ class Matterhorn::Endpoint::Workflow < Matterhorn::Endpoint
48
48
  end
49
49
 
50
50
 
51
+ # Return a list of worklows as a hash
52
+ # {
53
+ # "workflows": {
54
+ # "totalCount": "224",
55
+ # "count": "20",
56
+ # "startPage": "0",
57
+ # "workflow": [
58
+ # {
59
+ # "id": "267313",
60
+ # "state": "FAILED",
61
+ # "template": "switchcast-publish-all-1.0",
62
+ # "mediapackage": {
63
+ # "id": "3756ddd8-2f2a-4728-9367-5790cdf4980f",
64
+ # "title": "Paedagogische und psychologische Grundbegriffe",
65
+ # "series": "abf06ea8-d068-4e6e-8b37-b252b101694f",
66
+ # "seriestitle": "Vorlesungen PH Luzern H13F14"
67
+ # }
68
+ # }
69
+ # ...
70
+ #
71
+ # /workflow/instances.json?state=&q=&seriesId=&seriesTitle=&creator=&contributor=&fromdate=&todate=&language=&license=&title=&subject=&workflowdefinition=switchcast-publish-all-1.0&mp=&op=&sort=&startPage=0&count=0&compact=
72
+ #
73
+ def find(options = {})
74
+ instances = nil
75
+ begin
76
+ split_response http_endpoint_client.get(
77
+ "workflow/instances.json#{build_query_str(options)}"
78
+ )
79
+ instances = filter_workflows(JSON.parse(response_body))
80
+ rescue => ex
81
+ exception_handler('find', ex, {})
82
+ end
83
+ instances
84
+ end
85
+
86
+
51
87
  def statistics
52
88
  stati = nil
53
89
  begin
@@ -120,5 +156,52 @@ class Matterhorn::Endpoint::Workflow < Matterhorn::Endpoint
120
156
  wi_removed
121
157
  end
122
158
 
159
+
160
+ # ---------------------------------------------------------------------------- private section ---
161
+ private
123
162
 
163
+ def filter_workflows(response_hash)
164
+ workflows = { 'workflows' => { 'workflow' => [] } }
165
+ return workflows if response_hash.nil? ||
166
+ !response_hash.kind_of?(Hash) ||
167
+ response_hash['workflows'].nil?
168
+ workflows_hash = response_hash['workflows']
169
+ return workflows if workflows_hash.nil? ||
170
+ !workflows_hash.kind_of?(Hash) ||
171
+ workflows_hash['workflow'].nil?
172
+ unless workflows_hash['workflow'].kind_of?(Array)
173
+ workflows_hash['workflow'] = [ workflows_hash['workflow'] ]
174
+ end
175
+ ['totalCount', 'count', 'startPage'].each do |key|
176
+ workflows['workflows'][key] = workflows_hash[key]
177
+ end
178
+ workflows_hash['workflow'].each do |workflow_hash|
179
+ next unless workflow_hash.kind_of?(Hash)
180
+ workflows['workflows']['workflow'] << filter_workflow(workflow_hash)
181
+ end
182
+ workflows
183
+ end
184
+
185
+
186
+ def filter_workflow(workflow_hash)
187
+ workflow = {}
188
+ return workflow unless workflow_hash.kind_of?(Hash)
189
+ ['id', 'state', 'template'].each do |key|
190
+ workflow[key] = workflow_hash[key]
191
+ end
192
+ workflow['mediapackage'] = filter_mediapackage(workflow_hash['mediapackage'])
193
+ workflow
194
+ end
195
+
196
+
197
+ def filter_mediapackage(mediapackage_hash)
198
+ mediapackage = {}
199
+ return mediapackage unless mediapackage_hash.kind_of?(Hash)
200
+ ['id', 'title', 'series', 'seriestitle'].each do |key|
201
+ mediapackage[key] = mediapackage_hash[key]
202
+ end
203
+ mediapackage
204
+ end
205
+
206
+
124
207
  end # ------------------------------------------------------- end Matterhorn::Endpoint::Workflow ---
@@ -5,7 +5,7 @@ module MatterhornWhymper
5
5
 
6
6
  # -------------------------------------------------------------------------- const definitions ---
7
7
 
8
- VERSION = "2.3.0"
8
+ VERSION = "2.4.0"
9
9
 
10
10
 
11
11
  end # -------------------------------------------------------------------- end MatterhornWhymper ---
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: matterhorn_whymper
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Fritschi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-21 00:00:00.000000000 Z
11
+ date: 2016-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multipart-post