matterhorn_whymper 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
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