cielo24 0.0.6 → 0.0.7

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
  SHA1:
3
- metadata.gz: 9107d0e793b84ed3a486338337eeb04714376905
4
- data.tar.gz: 9794c0732b072a63811fddd86a3581b095991081
3
+ metadata.gz: ac1299303ddcc2014db9089215d733ef4e3308f1
4
+ data.tar.gz: 8495707247b1e88c08c99fc09b9ec2cc486d929b
5
5
  SHA512:
6
- metadata.gz: 27669efdf2a205b83418245bebfa953f1d8f894c8b0ffa500e715316c5984da976df91f7e4914fa555981cadead49efb3f5acd57de0f105a59aa99088a00fcc5
7
- data.tar.gz: ed250abdfb41c16841a2dde46885a6269d4c1fffbe33d924d5799958fb1a21aea0cace56992749c66b1a6ea1a355e2b6fb8aab4cdb1a932fb8a68e09f87b935f
6
+ metadata.gz: 0cc9c9090e2b3ca4f07ff151e406f081574ee687c09756b5e94d270e394e702e5b1a1530e00ebaa4096e789a0f1af8f44e1ae55c20dd9373c9e99e81fac2b494
7
+ data.tar.gz: 7f309f52761b1cc90931073d1d88f14586d6cf91a00eda9656957555fd7ee4a77c5c56ed267088b03345278859a29987cf91f5324e624deca9fb5185e08ea03b
@@ -63,7 +63,6 @@ module Cielo24
63
63
 
64
64
  def logout(api_token)
65
65
  query_hash = init_access_req_dict(api_token)
66
-
67
66
  # Nothing returned
68
67
  WebUtils.http_request(@base_url + LOGOUT_PATH, 'GET', WebUtils::BASIC_TIMEOUT, query_hash)
69
68
  end
@@ -110,7 +109,6 @@ module Cielo24
110
109
 
111
110
  def authorize_job(api_token, job_id)
112
111
  query_hash = init_job_req_dict(api_token, job_id)
113
-
114
112
  # Nothing returned
115
113
  WebUtils.http_request(@base_url + AUTHORIZE_JOB_PATH, 'GET', WebUtils::BASIC_TIMEOUT, query_hash)
116
114
  end
@@ -126,7 +124,6 @@ module Cielo24
126
124
  query_hash = init_job_req_dict(api_token, job_id)
127
125
 
128
126
  json = WebUtils.get_json(@base_url + GET_JOB_INFO_PATH, 'GET', WebUtils::BASIC_TIMEOUT, query_hash)
129
- # TODO: JobInfo
130
127
  return Mash.new(json)
131
128
  end
132
129
 
@@ -134,7 +131,6 @@ module Cielo24
134
131
  query_hash = init_access_req_dict(api_token)
135
132
 
136
133
  json = WebUtils.get_json(@base_url + GET_JOB_LIST_PATH, 'GET', WebUtils::BASIC_TIMEOUT, query_hash)
137
- # TODO: JobList
138
134
  return Mash.new(json)
139
135
  end
140
136
 
@@ -219,7 +215,6 @@ module Cielo24
219
215
  query_hash = init_job_req_dict(api_token, job_id)
220
216
 
221
217
  json = WebUtils.get_json(@base_url + GET_ELEMENT_LIST_PATH, 'GET', WebUtils::BASIC_TIMEOUT, query_hash)
222
- # TODO: ElementList
223
218
  return Mash.new(json)
224
219
  end
225
220
 
@@ -228,7 +223,6 @@ module Cielo24
228
223
 
229
224
  response = WebUtils.http_request(@base_url + GET_LIST_OF_ELEMENT_LISTS_PATH, 'GET', WebUtils::BASIC_TIMEOUT, query_hash)
230
225
  array = JSON.parse(response)
231
- # TODO: List<ElementListVersion>
232
226
  return array
233
227
  end
234
228
 
@@ -6,9 +6,10 @@ module Cielo24
6
6
  def self.JOB_ADD_TRANSCRIPT; "JOB_ADD_TRANSCRIPT"; end
7
7
  def self.JOB_PERFORM_TRANSCRIPTION; "JOB_PERFORM_TRANSCRIPTION"; end
8
8
  def self.JOB_PERFORM_PREMIUM_SYNC; "JOB_PERFORM_PREMIUM_SYNC"; end
9
- def self.JOB_REQUEST_TRANSCRIPT; "JOB_REQUEST_TRANSCRIPT"; end
10
- def self.JOB_REQUEST_CAPTION; "JOB_REQUEST_CAPTION"; end
11
- def self.JOB_REQUEST_ELEMENTLIST; "JOB_REQUEST_ELEMENTLIST"; end
9
+ def self.JOB_UPDATE_ELEMENTLIST; "JOB_UPDATE_ELEMENTLIST"; end
10
+ def self.JOB_GET_TRANSCRIPT; "JOB_GET_TRANSCRIPT"; end
11
+ def self.JOB_GET_CAPTION; "JOB_GET_CAPTION"; end
12
+ def self.JOB_GET_ELEMENTLIST; "JOB_GET_ELEMENTLIST"; end
12
13
  end
13
14
 
14
15
  class ErrorType < BasicObject
@@ -42,24 +43,30 @@ module Cielo24
42
43
  def self.STANDARD; "STANDARD"; end
43
44
  def self.PRIORITY; "PRIORITY"; end
44
45
  def self.CRITICAL; "CRITICAL"; end
45
- def self.all; "[ ECONOMY, STANDARD, PRIORITY, CRITICAL ]"; end
46
+ def self.HIGH; "HIGH"; end
47
+ def self.all; "[ ECONOMY, STANDARD, PRIORITY, CRITICAL, HIGH ]"; end
46
48
  end
47
49
 
48
50
  class Fidelity < BasicObject
49
51
  def self.MECHANICAL; "MECHANICAL"; end
52
+ def self.STANDARD; "STANDARD"; end
53
+ def self.HIGH; "HIGH"; end
50
54
  def self.PREMIUM; "PREMIUM"; end
51
55
  def self.PROFESSIONAL; "PROFESSIONAL"; end
52
- def self.INTERIM_PROFESSIONAL; "INTERIM_PROFESSIONAL"; end
53
- def self.FINAL; "FINAL"; end
54
- def self.all; "[ MECHANICAL, PREMIUM, PROFESSIONAL, INTERIM_PROFESSIONAL, FINAL ]"; end
56
+ def self.EXTERNAL; "EXTERNAL"; end
57
+ def self.all; "[ MECHANICAL, STANDARD, HIGH, PREMIUM, PROFESSIONAL, EXTERNAL ]"; end
55
58
  end
56
59
 
57
60
  class CaptionFormat < BasicObject
58
61
  def self.SRT; "SRT"; end
59
62
  def self.SBV; "SBV"; end
60
63
  def self.DFXP; "DFXP"; end
61
- def self.QT; "QT"; end
62
- def self.all; "[ SRT, SBV, DFXP, QT ]"; end
64
+ def self.TRANSCRIPT; "TRANSCRIPT"; end
65
+ def self.TWX; "TWX"; end
66
+ def self.TPM; "TPM"; end
67
+ def self.WEB_VTT; "WEB_VTT"; end
68
+ def self.ECHO; "ECHO"; end
69
+ def self.all; "[ SRT, SBV, DFXP, QT, TRANSCRIPT, TWX, TPM, WEB_VTT, ECHO ]"; end
63
70
  end
64
71
 
65
72
  class TokenType < BasicObject
@@ -1,5 +1,6 @@
1
1
  module Cielo24
2
2
  class Options
3
+
3
4
  def get_hash
4
5
  hash = {}
5
6
  self.instance_variables.each{ |var|
@@ -1,3 +1,3 @@
1
1
  module Cielo24
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -3,11 +3,12 @@ module Cielo24
3
3
 
4
4
  require 'json'
5
5
  require 'httpclient'
6
+ require 'timeout'
6
7
  include JSON
7
8
 
8
9
  VERIFY_MODE = nil
9
- BASIC_TIMEOUT = 60
10
- DOWNLOAD_TIMEOUT = 300
10
+ BASIC_TIMEOUT = 60 # seconds
11
+ DOWNLOAD_TIMEOUT = 300 # seconds
11
12
  @@LAST_URL = "none" # For logging purposes
12
13
 
13
14
  def self.LAST_URL
@@ -22,18 +23,27 @@ module Cielo24
22
23
  def self.http_request(uri, method, timeout, query=nil, headers = nil, body = nil)
23
24
  http_client = HTTPClient.new
24
25
  http_client.cookie_manager = nil
25
- # TODO: timeout
26
26
 
27
- response = http_client.request(method, uri, query, body, headers, nil)
28
- @@LAST_URL = uri + "?" + URI.encode_www_form(query)
27
+ # Timeout block:
28
+ begin
29
+ # Error is raised if the following block fails to execute in 'timeout' sec:
30
+ Timeout.timeout(timeout) {
29
31
 
30
- # Handle web errors
31
- if response.status_code == 200 or response.status_code == 204
32
- return response.body
33
- else
34
- json = JSON.parse(response.body)
35
- raise WebError.new(json["ErrorType"], json["ErrorComment"])
32
+ response = http_client.request(method, uri, query, body, headers, nil)
33
+ # Handle web errors
34
+ if response.status_code == 200 or response.status_code == 204
35
+ return response.body
36
+ else
37
+ json = JSON.parse(response.body)
38
+ raise WebError.new(json["ErrorType"], json["ErrorComment"])
39
+ end
40
+
41
+ }
42
+ rescue Timeout::Error
43
+ raise TimeoutError.new("The HTTP session has timed out.")
36
44
  end
45
+
46
+ @@LAST_URL = uri + (query.nil? ? "" : "?" + URI.encode_www_form(query))
37
47
  end
38
48
  end
39
49
 
@@ -48,4 +58,10 @@ module Cielo24
48
58
  return @type + " - " + super.to_s
49
59
  end
50
60
  end
61
+
62
+ class TimeoutError < StandardError
63
+ def initialize(message)
64
+ super message
65
+ end
66
+ end
51
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cielo24
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evgeny Chistyakov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-23 00:00:00.000000000 Z
11
+ date: 2014-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler