termit 2.0.5 → 2.0.6
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 +4 -4
- data/README.md +8 -6
- data/lib/termit/output_manager.rb +18 -6
- data/lib/termit/speech_synthesizer.rb +6 -2
- data/lib/termit/user_input_parser.rb +5 -11
- data/lib/termit/version.rb +1 -1
- data/spec/termit/output_manager_spec.rb +9 -6
- data/spec/termit/speech_synthesizer_spec.rb +16 -4
- data/spec/termit/user_input_parser_spec.rb +0 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e30065a5242cf4e4aa3768265c44ecac3b8b2f2d
|
4
|
+
data.tar.gz: 546fcbe56d7a5f9ad22490545013650f440c9a31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54db1363b236b0d1720b875e4406a49b51ce6492c4155e6db6fdca7f26eb241f9afdd8c19d8cafdfd3768a90d3806b91671d580fdf3639ba28f5e047faa519eb
|
7
|
+
data.tar.gz: 3d4bf47dcea58ee04569bcd82061883fc7dfdeb3ff22208f566ca099322a327ee6a275d1238999be313d2138aa167c5c9dbfe3a2daa392d053555b709adbafd5
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#Termit [](https://travis-ci.org/pawurb/termit) [](http://badge.fury.io/rb/termit)
|
2
2
|
|
3
3
|
|
4
|
-
Termit is an easy way to use Google Translate in your terminal.
|
4
|
+
Termit is an easy way to use Google Translate in your terminal.
|
5
5
|
|
6
6
|
## Installation
|
7
7
|
```ruby
|
@@ -31,9 +31,9 @@ termit fr ru qui est votre papa?
|
|
31
31
|
```
|
32
32
|
#### Speech synthesis
|
33
33
|
|
34
|
-
Specify a **-t** (talk) flag to use speech synthesis:
|
34
|
+
Specify a **-t** (talk) flag to use speech synthesis (requires mpg123):
|
35
35
|
``` ruby
|
36
|
-
termit en zh "hey cowboy where is your horse?" -
|
36
|
+
termit en zh "hey cowboy where is your horse?" -t
|
37
37
|
=> "嘿,牛仔是你的马在哪里?" #and a chinese voice says something about a horse
|
38
38
|
```
|
39
39
|
|
@@ -64,7 +64,7 @@ To find all available language codes visit www.translate.google.com. Choose lang
|
|
64
64
|
|
65
65
|
Works with Ruby 1.9.2 and higher.
|
66
66
|
|
67
|
-
To use speech synthesis
|
67
|
+
To use speech synthesis you need to have mpg123 installed.
|
68
68
|
|
69
69
|
For Ubuntu:
|
70
70
|
|
@@ -74,11 +74,13 @@ For MacOSX:
|
|
74
74
|
|
75
75
|
brew install mpg123
|
76
76
|
|
77
|
+
## Status
|
77
78
|
|
79
|
+
This is my first open-source project for people to use. Any feedback will be appreciated.
|
78
80
|
|
81
|
+
You can contact me on: p.urbanek89@gmail.com
|
79
82
|
|
80
|
-
|
81
|
-
|
83
|
+
Btw. I am looking for a job as a rails developer now and I am willing to relocate.
|
82
84
|
|
83
85
|
|
84
86
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
#encoding: UTF-8
|
2
2
|
module Termit
|
3
3
|
class OutputManager
|
4
|
-
def
|
5
|
-
|
4
|
+
def display_error_info_and_quit
|
5
|
+
abort "TERMIT: Wrong data. Example: 'termit en es the cowboy ' => 'el vaquero'"
|
6
6
|
end
|
7
7
|
|
8
|
-
def
|
9
|
-
|
8
|
+
def display_help_and_quit
|
9
|
+
abort <<-EOS
|
10
10
|
=========TERMIT=========
|
11
11
|
Usage:
|
12
12
|
termit 'source_language' 'target_language' 'text'
|
@@ -23,8 +23,19 @@ Check docs at: github.com/pawurb/termit
|
|
23
23
|
EOS
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
27
|
-
|
26
|
+
def display_player_error_and_quit
|
27
|
+
message = "Termit speech synthesis requires mpg123 installed."
|
28
|
+
case Gem::Platform.local.os
|
29
|
+
when "darwin"
|
30
|
+
message << "\nPlease run 'brew install mpg123'"
|
31
|
+
when "linux"
|
32
|
+
message << "\nPlease run 'sudo apt-get install mpg123'"
|
33
|
+
end
|
34
|
+
abort message
|
35
|
+
end
|
36
|
+
|
37
|
+
def display_version_and_quit
|
38
|
+
abort "Termit #{Termit::VERSION}"
|
28
39
|
end
|
29
40
|
|
30
41
|
def display_translation text
|
@@ -36,5 +47,6 @@ EOS
|
|
36
47
|
print '=> Synonyms: '
|
37
48
|
puts synonyms
|
38
49
|
end
|
50
|
+
|
39
51
|
end
|
40
52
|
end
|
@@ -1,6 +1,10 @@
|
|
1
1
|
#encoding: UTF-8
|
2
2
|
module Termit
|
3
3
|
class SpeechSynthesizer
|
4
|
+
extend ::Delegation
|
5
|
+
@output_manager = Termit::OutputManager.new
|
6
|
+
delegate :display_player_error_and_quit, to: @output_manager
|
7
|
+
|
4
8
|
def initialize options
|
5
9
|
check_sound_player
|
6
10
|
@text = options[:text]
|
@@ -16,8 +20,8 @@ module Termit
|
|
16
20
|
|
17
21
|
def check_sound_player
|
18
22
|
unless system 'which mpg123 > /dev/null'
|
19
|
-
|
23
|
+
display_player_error_and_quit
|
20
24
|
end
|
21
25
|
end
|
22
|
-
|
26
|
+
end
|
23
27
|
end
|
@@ -4,14 +4,14 @@ module Termit
|
|
4
4
|
extend ::Delegation
|
5
5
|
@output_manager = Termit::OutputManager.new
|
6
6
|
|
7
|
-
delegate :
|
7
|
+
delegate :display_error_info_and_quit, :display_help_and_quit, :display_version_and_quit, to: @output_manager
|
8
|
+
|
8
9
|
def initialize user_input
|
9
10
|
@user_input = user_input
|
10
11
|
quit_if_required
|
11
12
|
validate_user_input
|
12
13
|
rescue ArgumentError
|
13
|
-
|
14
|
-
exit
|
14
|
+
display_error_info_and_quit
|
15
15
|
end
|
16
16
|
|
17
17
|
def options
|
@@ -44,14 +44,8 @@ module Termit
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def quit_if_required
|
47
|
-
if @user_input.index("-h") || @user_input.empty?
|
48
|
-
|
49
|
-
exit
|
50
|
-
end
|
51
|
-
if @user_input.index("-v")
|
52
|
-
display_version
|
53
|
-
exit
|
54
|
-
end
|
47
|
+
display_help_and_quit if @user_input.index("-h") || @user_input.empty?
|
48
|
+
display_version_and_quit if @user_input.index("-v")
|
55
49
|
end
|
56
50
|
end
|
57
51
|
end
|
data/lib/termit/version.rb
CHANGED
@@ -6,22 +6,25 @@ describe Termit::OutputManager do
|
|
6
6
|
describe "instance_methods" do
|
7
7
|
describe "display_error_info_and_quit" do
|
8
8
|
it "does what is says" do
|
9
|
-
expect
|
10
|
-
subject.display_error_info
|
9
|
+
expect { subject.display_error_info_and_quit }.to raise_error SystemExit
|
11
10
|
end
|
12
11
|
end
|
13
12
|
|
14
13
|
describe "display_help_and_quit" do
|
15
14
|
it "does what is says" do
|
16
|
-
expect
|
17
|
-
subject.display_help
|
15
|
+
expect { subject.display_help_and_quit }.to raise_error SystemExit
|
18
16
|
end
|
19
17
|
end
|
20
18
|
|
21
19
|
describe "display_version_and_quit" do
|
22
20
|
it "does what is says" do
|
23
|
-
expect
|
24
|
-
|
21
|
+
expect { subject.display_version_and_quit }.to raise_error SystemExit
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe "display_player_error_and_quit" do
|
26
|
+
it "does what is says" do
|
27
|
+
expect { subject.display_player_error_and_quit }.to raise_error SystemExit
|
25
28
|
end
|
26
29
|
end
|
27
30
|
end
|
@@ -11,10 +11,22 @@ describe Termit::SpeechSynthesizer do
|
|
11
11
|
Termit::SoundResponseHandler.stub(:new) { handler }
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
context "system has mpg123 installed" do
|
15
|
+
it "executes correct service objects" do
|
16
|
+
Termit::SpeechSynthesizer.any_instance.stub(:check_sound_player) { nil }
|
17
|
+
Termit::SoundResponseHandler.should_receive(:new).with(:binary_sound_file)
|
18
|
+
Termit::SpeechSynthesizer.new(target_lang: :en, text: 'your mother', voice: true).call
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context "there is no mpq123 installed" do
|
23
|
+
before do
|
24
|
+
Object.any_instance.stub(:system) { nil }
|
25
|
+
end
|
26
|
+
it "executes correct service objects" do
|
27
|
+
Termit::OutputManager.any_instance.should_receive(:display_player_error_and_quit)
|
28
|
+
Termit::SpeechSynthesizer.new(target_lang: :en, text: 'your mother', voice: true).call
|
29
|
+
end
|
18
30
|
end
|
19
31
|
end
|
20
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: termit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pawurb
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -56,17 +56,17 @@ dependencies:
|
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
69
|
+
description: ' Termit is an easy way to use all the Google Translate goodies straight
|
70
70
|
from your terminal. '
|
71
71
|
email:
|
72
72
|
- p.urbanek89@gmail.com
|
@@ -119,12 +119,12 @@ require_paths:
|
|
119
119
|
- lib
|
120
120
|
required_ruby_version: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - '>='
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
|
-
- -
|
127
|
+
- - '>='
|
128
128
|
- !ruby/object:Gem::Version
|
129
129
|
version: '0'
|
130
130
|
requirements: []
|