eva-ia-robot 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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