eva-ia-robot 0.1.1 → 0.1.2

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.
@@ -1,10 +1,10 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "eva-ia-robot"
3
- s.version = "0.1.1"
3
+ s.version = "0.1.2"
4
4
  s.description = "Gem integrada com Google Speech e Google Translate"
5
5
  s.summary = "Command line"
6
6
  s.author = "Henrique Utsch"
7
7
  s.email = "henriqueutsch@gmail.com"
8
8
  s.homepage = "https://github.com/henriqueutsch/Eva-IA-Robot"
9
- s.files = Dir["{lib/**/*.rb,README.rdoc,test/**/*.rb,eva_ia_robot/*.rb,,eva_ia_robot/*.dll,,eva_ia_robot/*.exe,Rakefile,*.gemspec}"]
9
+ s.files = Dir["{lib/**/*.rb,README.rdoc,test/**/*.rb,eva_ia_robot/*.rb,eva_ia_robot/*.dll,,eva_ia_robot/*.exe,Rakefile,*.gemspec}"]
10
10
  end
@@ -4,45 +4,25 @@ require "cgi"
4
4
  require 'open-uri'
5
5
  require 'json'
6
6
  require 'win32ole'
7
-
8
7
  require 'rbconfig'
9
8
  require 'fileutils'
10
9
 
10
+ load 'eva-pergunta.rb'
11
+ load 'eva-resposta.rb'
12
+ load 'versao.rb'
13
+
11
14
  module HelloWorld
12
15
  def self.say
13
16
  "Hello World!"
14
17
  end
15
18
  end
16
19
 
17
- shell = WIN32OLE.new('Shell.Application')
18
-
19
-
20
-
21
- def pergunta()
22
- p 'gravando ...'
23
- system('rec.exe -r 16000 test.flac silence -l 1 0.1 1% 1 1.5 1%')
24
- p 'Enviando arquivo ...'
25
- request = %x(wget.exe -q -U "rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=pt-BR&client=Mozilla/5.0" --post-file test.flac --header="Content-Type: audio/x-flac; rate=16000")
26
- resposta = JSON.parse(request)
27
- if resposta["status"] == 5
28
- resposta("favor repêtir o comando")
29
- else
30
- resp = resposta["hypotheses"][0]["utterance"]
31
- p resp
32
- return resp
33
- end
34
-
35
- end
36
-
37
- def resposta(texto)
38
- texto = CGI::escape(texto)
39
- url = 'http://translate.google.com/translate_tts?ie=UTF-8&tl=pt&q='+texto
40
- open("arquivo.mp3", "wb") do |file|
41
- file.write(open(url).read)
42
- end
43
- system('play.exe arquivo.mp3')
44
- end
45
20
 
21
+ puts "teste"
22
+ shell = WIN32OLE.new('Shell.Application')
23
+ frase = ""
24
+ feedback = true
25
+ beep = true
46
26
  def os
47
27
  @os ||= (
48
28
  host_os = RbConfig::CONFIG['host_os']
@@ -60,18 +40,104 @@ end
60
40
  end
61
41
  )
62
42
  end
63
- while 1==1 do
64
-
65
- p frase = pergunta()
43
+ while frase !="sair" do
44
+ begin
45
+ p frase = pergunta(feedback,beep)
46
+ rescue =>e
47
+ puts e.message
48
+ end
66
49
  if frase == 'eva'
67
50
  resposta('pois não')
68
51
  end
69
52
 
53
+ if frase == 'versão'
54
+ resposta(versao())
55
+
56
+ end
57
+
58
+ if frase == 'desativar'
59
+ resposta('sistema de resposta desativado')
60
+ feedback = false
61
+ end
62
+
63
+ if frase == 'ativar'
64
+ resposta('sistema de resposta ativado')
65
+ feedback = true
66
+ end
67
+
68
+ if frase == 'desativar som'
69
+ resposta('sistema de beep desativado')
70
+ beep = false
71
+ end
72
+
73
+ if frase == 'ativar som'
74
+ resposta('sistema de beep ativado')
75
+ beep = true
76
+ end
77
+
70
78
  if frase == 'abrir chrome'
71
- resposta('abrindo chrome')
79
+ resposta('abrindo krome')
72
80
  shell.ShellExecute("chrome.exe", "", "", "open", 1)
73
81
  end
74
82
 
83
+ if frase == 'que horas são'
84
+ resposta("são #{Time.now.hour.to_s} horas e #{Time.now.min.to_s} minutos")
85
+ end
86
+
87
+ if frase == 'que dia é hoje'
88
+ semana = ["","Segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sabado","domingo"]
89
+ mes = ["","janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]
90
+ resposta("hoje é #{semana[Time.now.wday]} dia #{Time.now.day.to_s} de #{mes[Time.now.month]} de #{Time.now.year.to_s}")
91
+ end
92
+
93
+ if frase == 'abrir excel'
94
+ resposta('abrindo ekcel')
95
+ shell.ShellExecute("excel.exe", "", "", "open", 1)
96
+ end
97
+
98
+ if frase == 'finalizar excel'
99
+ resposta('finalizando ekcel')
100
+ system("taskkill /IM excel.exe")
101
+ end
102
+
103
+ if frase == 'abrir word'
104
+ resposta('abrindo word')
105
+ shell.ShellExecute("winword.exe", "", "", "open", 1)
106
+ end
107
+
108
+ if frase == 'finalizar word'
109
+ resposta('finalizando word')
110
+ system("taskkill /IM winword.exe")
111
+ end
112
+
113
+ if frase == 'abrir illustrator'
114
+ resposta('abrindo ilustreitor')
115
+ shell.ShellExecute("illustrator.exe", "", "", "open", 1)
116
+ end
117
+
118
+ if frase == 'finalizar illustrator'
119
+ resposta('finalizando ilustreitor')
120
+ system("taskkill /IM illustrator.exe")
121
+ end
122
+
123
+ if frase == 'abrir prompt'
124
+ resposta('abrindo prompt de comando')
125
+ shell.ShellExecute("cmd.exe", "", "", "open", 1)
126
+ end
127
+
128
+ if frase == 'finalizar prompt'
129
+ resposta('finalizando prompt')
130
+ system("taskkill /IM cmd.exe")
131
+ end
132
+
133
+
134
+ if frase == 'sair'
135
+ resposta('finalizando sistema de voz')
136
+ resposta('tênha um bom dia')
137
+
138
+ end
139
+
140
+
75
141
  if frase == 'sistema operacional'
76
142
  resposta("seu sistema operacional é #{os()}")
77
143
  end
@@ -0,0 +1,34 @@
1
+ #!/bin/env ruby
2
+ # encoding: utf-8
3
+ require 'win32/sound'
4
+ include Win32
5
+
6
+
7
+ def pergunta(feedback,beep)
8
+ p 'gravando ...'
9
+ if beep== true
10
+ Sound.beep(1500, 200)
11
+ end
12
+ system('rec.exe -r 16000 test.flac silence -l 1 0.1 1% 1 1.5 1%')
13
+ p 'Enviando arquivo ...'
14
+ request = %x(wget.exe -q -U "rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=pt-BR&client=Mozilla/5.0" --post-file test.flac --header="Content-Type: audio/x-flac; rate=16000")
15
+ begin
16
+ request.force_encoding('utf-8')
17
+ resposta = JSON.parse(request)
18
+ rescue =>e
19
+ puts e.message
20
+ end
21
+ if resposta["status"] == 5
22
+ if feedback==true
23
+ resposta("favor repêtir o comando")
24
+ else
25
+ puts "favor repetir o comando"
26
+ end
27
+
28
+ else
29
+ resp = resposta["hypotheses"][0]["utterance"]
30
+ puts resp
31
+ return resp
32
+ end
33
+ end
34
+
@@ -0,0 +1,8 @@
1
+ def resposta(texto)
2
+ texto = CGI::escape(texto)
3
+ url = 'http://translate.google.com/translate_tts?ie=UTF-8&tl=pt&q='+texto
4
+ open("arquivo.mp3", "wb") do |file|
5
+ file.write(open(url).read)
6
+ end
7
+ system('play.exe arquivo.mp3')
8
+ end
@@ -0,0 +1,32 @@
1
+ require 'open-uri'
2
+ require 'nokogiri'
3
+
4
+ pagina = Nokogiri::HTML(open("http://www.vagrantbox.es/"))
5
+
6
+
7
+
8
+ nome,link,tamanho,lista = Array.new
9
+ nome = pagina.xpath("//table/tbody/tr/th").map {|texto| texto.text}
10
+ link = pagina.xpath("//table/tbody/tr/td[2]").map {|texto| texto.text}
11
+ tamanho = pagina.xpath("//table/tbody/tr/td[3]").map {|texto| texto.text}
12
+ indice = Array.new(tamanho.count) {|i| i+1}
13
+ lista = indice,nome,link,tamanho
14
+ # lista = puts pagina.xpath("//div/a").text.split('-')
15
+ # puts pagina.xpath("//div/a").map {|texto| texto['onclick'].split("'")[1]}
16
+ # puts pagina.xpath("//div/a").map {|texto| texto['onclick'].split("'")[3]}
17
+
18
+ p "inicio"
19
+ p link[58]
20
+ system("dir")
21
+ p system("vagrant box add Freebsd2 #{link[58]}")
22
+
23
+ # pkg_add -r samba36
24
+ # NET SHARE vagrant=D:\vagrant "/grant:TODOS,FULL"
25
+ # NET SHARE $nomecomp=$caminho "/grant:$User,FULL|READ|WRITE"
26
+
27
+
28
+ # mount_smbfs -I 192.168.2.145 //Utsch@UTSCH-PC/Vagrant /usr/home/vagrant
29
+ # sudo mount_smbfs -I 192.168.2.145 //Utsch@UTSCH-PC/Vagrant /usr/home/vagrant
30
+
31
+
32
+ # VM Config = "/vagrant D:/Vagrant"
@@ -0,0 +1,32 @@
1
+ #!/bin/env ruby
2
+ # encoding: utf-8
3
+ require 'open-uri'
4
+ require 'nokogiri'
5
+ require 'rubygems'
6
+
7
+
8
+ def versao(teste)
9
+ pagina = Nokogiri::HTML(open("http://rubygems.org/gems/eva-ia-robot"))
10
+ vremota = pagina.xpath("/html/body/div/div[3]/div[1]/div[1]").text
11
+ vremota = vremota.gsub(/[^0-9.]/,'')
12
+ p vremota
13
+
14
+
15
+ name = /^/i
16
+ dep = Gem::Dependency.new(name, Gem::Requirement.default)
17
+ specs = Gem.source_index.search(dep)
18
+ vlocal = ""
19
+ # specs.map{ |s| puts "#{s.version}" if s.name=="eva-ia-robot"}
20
+ specs.map{ |s| vlocal = s.version if s.name=="eva-ia-robot"}
21
+ vlocal = vlocal.to_s
22
+ p vlocal
23
+ vremota= teste
24
+ if vlocal==vremota
25
+ return "Sua versão é a mais atual"
26
+ else
27
+ return "Existe uma atualização disponível"
28
+ end
29
+
30
+ end
31
+
32
+ # p v = versao("0.2.1")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eva-ia-robot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-27 00:00:00.000000000 -02:00
12
+ date: 2014-02-17 00:00:00.000000000 -03:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
  description: Gem integrada com Google Speech e Google Translate
@@ -20,6 +20,10 @@ extra_rdoc_files: []
20
20
  files:
21
21
  - test/eva_ia_robot_test.rb
22
22
  - eva_ia_robot/eva-ia-robot.rb
23
+ - eva_ia_robot/eva-pergunta.rb
24
+ - eva_ia_robot/eva-resposta.rb
25
+ - eva_ia_robot/vagrantlistbox.rb
26
+ - eva_ia_robot/versao.rb
23
27
  - eva_ia_robot/libgomp-1.dll
24
28
  - eva_ia_robot/libltdl-7.dll
25
29
  - eva_ia_robot/libmad.dll