dict 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/translate +1 -2
- data/lib/google.rb +19 -0
- data/lib/wiktionary.rb +40 -0
- metadata +25 -5
data/bin/translate
CHANGED
@@ -2,14 +2,13 @@
|
|
2
2
|
# -*- coding: utf-8 -*-
|
3
3
|
|
4
4
|
require 'dict'
|
5
|
+
require 'slop'
|
5
6
|
|
6
7
|
if ARGV.empty?
|
7
8
|
puts "Please, enter the word to translate."
|
8
9
|
exit
|
9
10
|
end
|
10
11
|
|
11
|
-
puts Dict::Translation.getResponse(ARGV[0])
|
12
|
-
|
13
12
|
if ARGV[0] == "status"
|
14
13
|
print "Status API: "
|
15
14
|
print Dict::Translation.status
|
data/lib/google.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'net/https'
|
2
|
+
require 'uri'
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
API_KEY = 'AIzaSyB2EQUnNtZycF_xyoyOSm0QJU0dfMGEr44'
|
6
|
+
|
7
|
+
class GoogleTranslator
|
8
|
+
def initialize(uri)
|
9
|
+
@uri = URI(uri)
|
10
|
+
@req = Net::HTTP::Get.new(@uri.path << "?" << @uri.query)
|
11
|
+
Net::HTTP.start(@uri.host, @uri.port, :use_ssl => @uri.scheme == 'https', :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http|
|
12
|
+
p JSON.parse(http.request(@req).body)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
word = ARGV[0]
|
18
|
+
|
19
|
+
GoogleTranslator.new("https://www.googleapis.com/language/translate/v2?key=#{API_KEY}&q=#{word}&source=pl&target=en")
|
data/lib/wiktionary.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'net/http' # requires 'uri'
|
2
|
+
|
3
|
+
class Wiktionary
|
4
|
+
WIKI_URL = "http://en.wiktionary.org/wiki/" # #{word}
|
5
|
+
def initialize(word)
|
6
|
+
if word.empty? then puts "No word given."; exit end
|
7
|
+
@word = word
|
8
|
+
@uri = URI(URI.escape(WIKI_URL << @word))
|
9
|
+
end
|
10
|
+
|
11
|
+
def translate
|
12
|
+
req = Net::HTTP::Get.new(@uri.path)
|
13
|
+
response, array = nil, []
|
14
|
+
Net::HTTP.start(@uri.host, @uri.port) do |http|
|
15
|
+
response = http.request(req).body
|
16
|
+
regexp = Regexp.new('<li>[^<]*<a href="/wiki/([^"]+)"\s+title="\1">\1<\/a>', Regexp::IGNORECASE)
|
17
|
+
results = regexp.match(response)
|
18
|
+
|
19
|
+
return array if !results # no translation found
|
20
|
+
|
21
|
+
array.push results[1]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def uri_debug
|
26
|
+
puts "--- DEBUG start ---"
|
27
|
+
puts "uri:\t\t" << @uri.to_s
|
28
|
+
puts "scheme:\t\t" << @uri.scheme
|
29
|
+
puts "host:\t\t" << @uri.host
|
30
|
+
puts "query:\t\t" << @uri.query if @uri.query
|
31
|
+
puts "path:\t\t" << @uri.path if @uri.path
|
32
|
+
puts "fragment:\t" << @uri.fragment if @uri.fragment
|
33
|
+
puts "--- DEBUG end ---"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
word = ARGV[0]
|
38
|
+
word ||= ''
|
39
|
+
translation = Wiktionary.new word
|
40
|
+
puts translation.translate.to_s
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dict
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,17 +11,37 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
date: 2012-07-03 00:00:00.000000000 Z
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: slop
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
31
|
+
description: ! " Dict is a client of API which you lets you use multiple dictionaries.\n
|
32
|
+
\ Dict is a OpenSource Project.\n"
|
33
|
+
email:
|
34
|
+
- mtczerwinski@gmail.com
|
17
35
|
executables:
|
18
36
|
- translate
|
19
37
|
extensions: []
|
20
38
|
extra_rdoc_files: []
|
21
39
|
files:
|
22
40
|
- lib/dict.rb
|
41
|
+
- lib/google.rb
|
42
|
+
- lib/wiktionary.rb
|
23
43
|
- bin/translate
|
24
|
-
homepage:
|
44
|
+
homepage: https://github.com/Ragnarson/dict-gem
|
25
45
|
licenses: []
|
26
46
|
post_install_message:
|
27
47
|
rdoc_options: []
|