happyscribe 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fbadf723020774ce535efd248fe63c04d66751d9f9d6bc57129bf3c5e21e1d6
4
- data.tar.gz: 86790401aef3db69a4562f2a0c4b93ded42426e1bac92ef61f62f6fad5fc9463
3
+ metadata.gz: de5530dba1327e61cc5c8e14dc49a5267d02f8d8b5281cf5ab8603b63966c699
4
+ data.tar.gz: 503bab852d4b9e9cb064a4c7859a8237b064380f717fb7a4b54511815329a4e1
5
5
  SHA512:
6
- metadata.gz: fb0b6bca6c4c91f9d59be447836d2f7b8746a45da86a7eff912d261dea96532ac2075fa42744217fb3826b6a5f322fed680e107b591faacef0b19b980a59d4af
7
- data.tar.gz: '048f865ed843ad7f6a5b9573bfe450d8b6d6ceda681d80013c5682e67809f8b7291c170c98b5e2f9d3c5ad23bbdffa976df4aa600898375a89753d923de66bf5'
6
+ metadata.gz: a847552ceefabf48688c375f8a874f5d519e2a65944a344953e4fa4228a95d9fc1ebf1d8f970fea6d0224a52243be990fcb19857d8f2db37050b320616a12316
7
+ data.tar.gz: 193778eeb0f75b70dcf68dd1394b17caa7c46e6e640646bfa2a6cf3afb126daa2eb6caca3f5a9d3b47ac83cbe0ac3075e9130addab9d9985cea25bf82dcd240b
@@ -7,7 +7,7 @@ GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  diff-lcs (1.4.4)
10
- rake (10.5.0)
10
+ rake (13.0.1)
11
11
  rspec (3.9.0)
12
12
  rspec-core (~> 3.9.0)
13
13
  rspec-expectations (~> 3.9.0)
@@ -28,7 +28,7 @@ PLATFORMS
28
28
  DEPENDENCIES
29
29
  bundler (~> 2.0)
30
30
  happyscribe!
31
- rake (~> 10.0)
31
+ rake (~> 13.0)
32
32
  rspec (~> 3.0)
33
33
 
34
34
  BUNDLED WITH
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Happyscribe client for Ruby
2
- This is a very basic NON-OFFICIAL gem based on the happyscribes api (https://dev.happyscribe.co/). It works out of the box and makes the usage of the api much easier ;-)
2
+ This is a small NON-OFFICIAL gem based on happyscribes api (https://dev.happyscribe.co/). It works out of the box and makes the usage of the api much easier ;-)
3
3
 
4
4
  ## dependencies
5
5
  because no one love to have 10k of dependencies, this gem uses only: net/http,uri,json and securerandom. so do not worry about the size of the gem.
@@ -29,43 +29,61 @@ require "happyscribe"
29
29
  ```
30
30
 
31
31
  ### nota bene
32
- all the functions sends you back a parsed json (array) with the response of the api.
32
+ all the functions send you back a parsed json (array) with the response of the api.
33
33
 
34
34
  ### some Ruby please !
35
35
  create an instance:
36
36
  ```ruby
37
37
  instance = Happyscribe::Transcript.new(my_api_token)
38
+ #return nothing
38
39
  ```
40
+
41
+ #### API
39
42
  create a transcription. you can use all of the avaiable language codes (https://dev.happyscribe.co/#languages)
40
43
  ```ruby
41
- instance.create(public_url_to_audio,"fr-FR")
44
+ response = instance.create(public_url_to_audio,"fr-FR")
45
+ #return: dictionnary with the id,.... (the id is the only thing that matter)
42
46
  ```
43
47
  Good to know: if you are working with ActiveStorage, you can create a public_url with url_for()
44
48
 
45
49
  retrieve all the transcriptions
46
50
  ```ruby
47
- instance.list
51
+ response = instance.list
52
+ #return: a dictionnary with a key "results" where all the transcriptions are listed
48
53
  ```
49
- retrieve all a transcription
54
+ retrieve a transcription
50
55
  ```ruby
51
56
  instance.retrieve(transcription_id)
57
+ #return: a dictionnary with everything about the transcriptions (status,....)
52
58
  ```
53
59
  create an export
54
60
  ```ruby
55
- instance.create_export(transcription_id, format,show_speakers,show_comments,show_highlights)
61
+ response = instance.create_export(transcription_id, format,show_speakers,show_comments,show_highlights)
56
62
  # by default, format="txt", show_speakers,show_comments,... = false
57
63
  # so you can just do
58
- instance.create_export(transcription_id, format)
64
+ response = instance.create_export(transcription_id, format)
65
+ #return: a dictionnary with the id of the export and other informations. NB: you can't list all the exports, so do not lose the id ;-)
59
66
  ```
60
67
 
61
68
  retrieve an export
62
69
  ```ruby
63
70
  instance.retrieve_export(export_id)
71
+ #return: a dictionnary , with a link to an attachment that you can download.
72
+ ```
73
+
74
+ #### Magic function
75
+ because we only want to have a string of the transcription, there is a function that creates the export, retrieve the export when it's ready, download the attachment and return it in utf-8.
76
+
77
+ ```ruby
78
+ instance.export_in_txt(transcription_id)
79
+ #return: a string with the transcription
64
80
  ```
81
+
65
82
  ## Contributing
66
83
 
67
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/happyscribe. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
84
+ Bug reports and pull requests are welcome on GitHub at https://github.com/jbd0101/happyscribe. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
68
85
 
86
+ you can always star the project ;)
69
87
 
70
88
  ## License
71
89
 
Binary file
Binary file
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.authors = ["jean-christophe bauduin"]
9
9
  spec.email = [""]
10
10
 
11
- spec.summary = %q{Very simple ruby gem for the transcription api of happyscribe}
12
- spec.description = %q{the api of happyscribe is quite verbose, this ruby gem make it more easy to use (I hope so)}
11
+ spec.summary = %q{ruby gem for the api of happyscribe}
12
+ spec.description = %q{the api of happyscribe is quite verbose, this ruby gem make it easy ! take a look at the documentation on github ( https://github.com/jbd0101/happyscribe-client ) }
13
13
  spec.homepage = "https://github.com/jbd0101/happyscribe-client"
14
14
  spec.license = "MIT"
15
15
 
@@ -29,6 +29,6 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ["lib"]
30
30
 
31
31
  spec.add_development_dependency "bundler", "~> 2.0"
32
- spec.add_development_dependency "rake", "~> 10.0"
32
+ spec.add_development_dependency "rake", "~> 13.0"
33
33
  spec.add_development_dependency "rspec", "~> 3.0"
34
34
  end
@@ -94,6 +94,31 @@ module Happyscribe
94
94
  end
95
95
  return JSON.parse response.body
96
96
  end
97
+ def create_multiple_export(ids,format="txt",timestamps=false,speakers=false,comments=false,highlights=false)
98
+ uri = URI.parse("#{@base}/exports")
99
+ request = Net::HTTP::Post.new(uri)
100
+ request.content_type = "application/json"
101
+ request["Authorization"] = @auth
102
+ request.body = JSON.dump({
103
+ "export" => {
104
+ "format" => format,
105
+ "show_timestamps" => timestamps,
106
+ "show_speakers" => speakers,
107
+ "show_comments" => comments,
108
+ "show_highlights" => highlights,
109
+ "transcription_ids" => ids
110
+ }
111
+ })
112
+
113
+ req_options = {
114
+ use_ssl: uri.scheme == "https",
115
+ }
116
+
117
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
118
+ http.request(request)
119
+ end
120
+ return JSON.parse response.body
121
+ end
97
122
  def retrieve_export(export_id)
98
123
  endpoint = "#{@base}/exports/#{export_id}"
99
124
  uri = URI.parse(endpoint)
@@ -109,20 +134,24 @@ module Happyscribe
109
134
  end
110
135
  return JSON.parse response.body
111
136
  end
112
- def export_in_txt(export_id)
113
- export = create_export(export_id,"txt")["id"]
114
- sleep(5)
115
- while true
116
- retrieved = retrieve_export(export)
117
- if(retrieved["state"]=="ready")
118
- break
119
- else
120
- sleep(2)
137
+ def export_in_txt(transcription_id)
138
+ transcription = retrieve transcription_id
139
+ if(transcription["state"]=="automatic_done")
140
+ export = create_export(transcription_id,"txt")["id"]
141
+ sleep(5)
142
+ while true
143
+ retrieved = retrieve_export(export)
144
+ if(retrieved["state"]=="ready")
145
+ break
146
+ else
147
+ sleep(2)
148
+ end
121
149
  end
150
+ txt = URI.parse(retrieved["download_link"]).open.read.force_encoding("utf-8")
151
+ return txt
152
+ else
153
+ raise "The transcription is not ready"
122
154
  end
123
- txt = URI.parse(retrieved["download_link"]).open.read.force_encoding("utf-8")
124
- return txt
125
-
126
155
  end
127
156
  end
128
157
  end
@@ -1,3 +1,3 @@
1
1
  module Happyscribe
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: happyscribe
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - jean-christophe bauduin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-30 00:00:00.000000000 Z
11
+ date: 2020-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,8 +52,9 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
- description: the api of happyscribe is quite verbose, this ruby gem make it more easy
56
- to use (I hope so)
55
+ description: 'the api of happyscribe is quite verbose, this ruby gem make it easy
56
+ ! take a look at the documentation on github ( https://github.com/jbd0101/happyscribe-client
57
+ ) '
57
58
  email:
58
59
  - ''
59
60
  executables: []
@@ -73,6 +74,8 @@ files:
73
74
  - bin/setup
74
75
  - happyscribe-0.2.0.gem
75
76
  - happyscribe-1.0.0.gem
77
+ - happyscribe-1.0.1.gem
78
+ - happyscribe-1.0.2.gem
76
79
  - happyscribe.gemspec
77
80
  - lib/happyscribe.rb
78
81
  - lib/happyscribe/version.rb
@@ -102,5 +105,5 @@ requirements: []
102
105
  rubygems_version: 3.0.4
103
106
  signing_key:
104
107
  specification_version: 4
105
- summary: Very simple ruby gem for the transcription api of happyscribe
108
+ summary: ruby gem for the api of happyscribe
106
109
  test_files: []