uniara_virtual_parser 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.rspec +3 -0
- data/.rubocop.yml +6 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +10 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +14 -0
- data/lib/uniara_virtual_parser/client.rb +26 -0
- data/lib/uniara_virtual_parser/models/subject.rb +20 -0
- data/lib/uniara_virtual_parser/services/grades.rb +33 -0
- data/lib/uniara_virtual_parser/services/login.rb +12 -0
- data/lib/uniara_virtual_parser/version.rb +3 -0
- data/lib/uniara_virtual_parser.rb +22 -0
- data/spec/fixtures/uniara_virtual/grades.html +1 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/support/fixture_helper.rb +5 -0
- data/spec/uniara_virtual_parser/client_spec.rb +27 -0
- data/spec/uniara_virtual_parser/services/grades_spec.rb +17 -0
- data/spec/uniara_virtual_parser/services/login_spec.rb +52 -0
- data/uniara_virtual_parser.gemspec +28 -0
- metadata +171 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 70ca7f52e8cb6eb38f591b934b494511e8b74251
|
4
|
+
data.tar.gz: dd096cfd52b613e8c244ffcee07a053c2e80bb80
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4909efadac1245e39e5e6bf87ee75d115a34c4562dfc849032fa049a704d592bcac0fe41256958ae33f0377d5f832de27dbbcc728e87c15d356fe96bbb7bd7a9
|
7
|
+
data.tar.gz: acb4c5b5f9013083e47d36961edf552932624d60141dabb4296d2224c941c963700da9add4d9b37ac4cb6a5fbe3d16f9a4ec990a217a9a00635553141c08cbb0
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
uniara_virtual_parser
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.5
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Carlos Ribeiro
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# UniaraVirtualParser
|
2
|
+
|
3
|
+
A gem to parse the Uniara Virtual system.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'uniara_virtual_parser'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install uniara_virtual_parser
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
TODO: Write usage instructions here
|
24
|
+
|
25
|
+
## Contributing
|
26
|
+
|
27
|
+
1. Fork it ( https://github.com/duduribeiro/uniara_virtual_parser/fork )
|
28
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
29
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
30
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
31
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
|
3
|
+
desc 'Default task'
|
4
|
+
task default: :spec
|
5
|
+
|
6
|
+
desc 'Open an irb session preloaded with this library'
|
7
|
+
task :console do
|
8
|
+
exec 'irb -r uniara_virtual_parser -I ./lib'
|
9
|
+
end
|
10
|
+
|
11
|
+
desc 'Run specs'
|
12
|
+
task :spec do
|
13
|
+
system 'rspec .'
|
14
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module UniaraVirtualParser
|
2
|
+
#
|
3
|
+
# This module handle the connections between all services and the
|
4
|
+
# UniaraVirtual server
|
5
|
+
#
|
6
|
+
class Client
|
7
|
+
ENDPOINT = 'http://virtual.uniara.com.br'
|
8
|
+
class << self
|
9
|
+
extend Forwardable
|
10
|
+
def_delegators :client, :post
|
11
|
+
attr_accessor :token
|
12
|
+
|
13
|
+
def get_with_token(path)
|
14
|
+
client.get(path) do |request|
|
15
|
+
request.header[:cookie] = "PHPSESSID=#{token};"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def client
|
22
|
+
@client ||= Hurley::Client.new ENDPOINT
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module UniaraVirtualParser
|
2
|
+
module Models
|
3
|
+
class Subject
|
4
|
+
attr_reader :name, :first_bimester, :second_bimester, :third_bimester,
|
5
|
+
:fourth_bimester, :substitutive, :average, :recovery, :status
|
6
|
+
|
7
|
+
def initialize(attributes = {})
|
8
|
+
@name = attributes.fetch :name
|
9
|
+
@first_bimester = attributes.fetch :first_bimester
|
10
|
+
@second_bimester = attributes.fetch :second_bimester
|
11
|
+
@third_bimester = attributes.fetch :third_bimester
|
12
|
+
@fourth_bimester = attributes.fetch :fourth_bimester
|
13
|
+
@substitutive = attributes.fetch :substitutive
|
14
|
+
@average = attributes.fetch :average
|
15
|
+
@recovery = attributes.fetch :recovery
|
16
|
+
@status = attributes.fetch :status
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module UniaraVirtualParser
|
2
|
+
module Services
|
3
|
+
module Grades
|
4
|
+
def grades
|
5
|
+
response = Client.get_with_token('/alunos/consultas/notas/')
|
6
|
+
parse_grades response.body
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def parse_grades(html)
|
12
|
+
doc = Nokogiri::HTML(html)
|
13
|
+
subjects = []
|
14
|
+
doc.css('div#conteudo ~ table tr').each_with_index do |subject, index|
|
15
|
+
next if index.zero?
|
16
|
+
|
17
|
+
subjects << Models::Subject.new(
|
18
|
+
name: subject.css('td:nth-child(1)').text,
|
19
|
+
first_bimester: subject.css('td:nth-child(2)').text,
|
20
|
+
second_bimester: subject.css('td:nth-child(3)').text,
|
21
|
+
third_bimester: subject.css('td:nth-child(4)').text,
|
22
|
+
fourth_bimester: subject.css('td:nth-child(5)').text,
|
23
|
+
substitutive: subject.css('td:nth-child(6)').text,
|
24
|
+
average: subject.css('td:nth-child(7)').text,
|
25
|
+
recovery: subject.css('td:nth-child(8)').text,
|
26
|
+
status: subject.css('td:nth-child(9)').text
|
27
|
+
)
|
28
|
+
end
|
29
|
+
subjects
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module UniaraVirtualParser
|
2
|
+
module Services
|
3
|
+
module Login
|
4
|
+
def login(ra, password)
|
5
|
+
response = Client.post('/login', username: ra, senha: password)
|
6
|
+
cookies = response.header['Set-Cookie']
|
7
|
+
fail InvalidLogin unless /UVXS233E3=S/.match cookies
|
8
|
+
Client.token = cookies.match(/PHPSESSID=([^;]*);/)[1]
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'hurley'
|
2
|
+
require 'nokogiri'
|
3
|
+
require 'uniara_virtual_parser/version'
|
4
|
+
require 'uniara_virtual_parser/client'
|
5
|
+
require 'uniara_virtual_parser/models/subject'
|
6
|
+
require 'uniara_virtual_parser/services/login'
|
7
|
+
require 'uniara_virtual_parser/services/grades'
|
8
|
+
|
9
|
+
include UniaraVirtualParser::Services::Login
|
10
|
+
include UniaraVirtualParser::Services::Grades
|
11
|
+
|
12
|
+
module UniaraVirtualParser
|
13
|
+
#
|
14
|
+
# Main model. Includes methods from the services
|
15
|
+
# Included:
|
16
|
+
# login(ra, password) - Do the login in UniaraVirtual
|
17
|
+
#
|
18
|
+
# All Errors:
|
19
|
+
# InvalidLogin: Raised when Login service receive invalid credentials.
|
20
|
+
#
|
21
|
+
class InvalidLogin < StandardError; end
|
22
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r\n<html>\r\n\t<head>\r\n\t <title>Uniara Virtual - Acad\xEAmico > Consultas > Registro de Notas</title>\r\n\t <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\r\n\t <meta name=\"Author\" content=\"Weverton Velludo - wvelludo@uniara.com.br\">\r\n\t <meta name=\"Robots\" CONTENT=\"noindex,nofollow\">\r\n\t\t<link type=\"image/x-icon\" rel=\"shortcut icon\" href=\"http://www.uniara.com.br/favicon.ico\" />\r\n\t <link rel=\"stylesheet\" href=\"http://www.uniara.com.br/barra_navegacao.css\" type=\"text/css\">\r\n\t\t<script type=\"text/javascript\" src=\"http://www.uniara.com.br/barra_navegacao_virtual.js.php\"></script>\r\n\t <link href=\"/templates/alunos/css.css\" rel=\"stylesheet\" type=\"text/css\">\r\n \r\n\t\t<script type=\"text/javascript\" src=\"/templates/alunos/ferramentas/js/jquery.js\"></script>\r\n <script type=\"text/javascript\" src=\"/templates/alunos/ferramentas/js/jquery.jqDock.min.js\"></script>\r\n <script type=\"text/javascript\" src=\"/templates/alunos/ferramentas/js/jquery-ui-1.8.15.custom.min.js\"></script>\r\n <link type=\"text/css\" href=\"/templates/alunos/ferramentas/css/ui-lightness/jquery-ui-1.8.15.custom.css\" rel=\"stylesheet\" />\r\n \r\n\t <script src=\"/templates/js/generico.js\" type=\"text/javascript\"></script>\r\n\t <script src=\"/templates/alunos/js/generico.js\" type=\"text/javascript\"></script>\r\n\t <script src=\"/templates/js/mascaraHellas.js\"></script>\r\n\t\t<script type=\"text/javascript\">\r\n\t\t\tvar gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");\r\n\t\t\tdocument.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\r\n\t\t</script>\r\n\t\t<script type=\"text/javascript\">\r\n\t\t\ttry {\r\n\t\t\t\tvar pageTracker = _gat._getTracker(\"UA-9447697-1\");\r\n\t\t\t\tpageTracker._trackPageview();\r\n\t\t\t} catch(err) {}\r\n\t\t</script>\r\n\t <script type=\"text/javascript\">\r\n\t \r\n\t\t\tfunction tempolimite() {\r\n\t\t\t\tif (atual != 0) {\r\n\t\t\t\t\tdocument.getElementById('tlimite').innerHTML = \"Tempo restante: <b>\" + atual + \"</b> min.\"\r\n\t\t\t\t\tif (atual==2) {\r\n\t\t\t\t\t\tif (pagina != \"/index.php\") {\r\n\t\t\t\t\t\t\tdocument.getElementById('limite').innerHTML = \"<table width='99%' align='center' border='0' cellpadding='3' cellspacing='1' bgcolor='#000000'><tr bgcolor='#0f3b4d'><td align='center'><font color='#FFFFFF'><b>ATEN\xC7\xC3O</b></font></td></tr><tr bgcolor='#47778b'><td align=center><b>Sua sess\xE3o est\xE1 chegando ao fim, salve as informa\xE7\xF5es para evitar perda de dados.<BR>Voc\xEA tem menos de 2 minutos para verificar e postar seus dados.</b></td></tr></table><BR>\"\r\n\t\t\t\t\t\t\tdocument.getElementById('limite2').innerHTML = \"<BR><table width='99%' align='center' border='0' cellpadding='3' cellspacing='1' bgcolor='#000000'><tr bgcolor='#0f3b4d'><td align='center'><font color='#FFFFFF'><b>ATEN\xC7\xC3O</b></font></td></tr><tr bgcolor='#47778b'><td align=center><b>Sua sess\xE3o est\xE1 chegando ao fim, salve as informa\xE7\xF5es para evitar perda de dados.<BR>Voc\xEA tem menos de 2 minutos para verificar e postar seus dados.</b></td></tr></table><BR>\"\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tatual-=1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.location=\"/login/\";\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(\"tempolimite()\",60000);\r\n \t\t}\r\n \t\t\r\n\t // Institucional\r\n\t var menu1=new Array()\r\n\t menu1[0]='<div class=dropmenu style=\"width:100%\"> <b>Informa\xE7\xF5es</b></div>'\r\n\t menu1[1]='<a href=\"/alunos/institucional/reitor/\" class=dropmenul target=_self>Palavra do Reitor</a>'\r\n\t menu1[2]='<a href=\"http://www.uniara.com.br/institucional/a_uniara.php\" class=dropmenul target=_blank>A Uniara</a>'\r\n\t menu1[3]='<a href=\"http://www.uniara.com.br/atividades_culturais/\" class=dropmenul target=_blank>Atividades Culturais</a>'\r\n\t menu1[4]='<a href=\"http://www.uniara.com.br/esporte/\" class=dropmenul target=_blank>Esporte</a>'\r\n\t menu1[5]='<a href=\"http://www.uniara.com.br/revistauniara/default.asp\" class=dropmenul target=_blank>Revista Uniara</a>'\r\n\t menu1[6]='<a href=\"http://www.uniara.com.br/parque_do_basalto/\" class=dropmenul target=_blank>Parque do Basalto</a>'\r\n\t menu1[7]='<a href=\"http://www.uniara.com.br/ageuniara/\" class=dropmenul target=_blank>Ageuniara</a>'\r\n\t menu1[8]='<a href=\"http://www.uniara.com.br/guia_turistico/\" class=dropmenul target=_blank>Guia de Araraquara</a>'\r\n\t menu1[9]='<a href=\"http://www.uniara.com.br/visitavirtual/\" class=dropmenul target=_blank>Visita Virtual</a>'\r\n\t\r\n\t // Uniara Virtual\r\n\t var menu2=new Array()\r\n\t menu2[0]='<div class=dropmenu style=\"width:100%\"> <b>Informa\xE7\xF5es</b></div>'\r\n\t menu2[1]='<a href=\"/alunos/virtual/apresentacao/\" class=dropmenul target=_self>Apresenta\xE7\xE3o</a>'\r\n\t menu2[2]='<div class=dropmenu style=\"width:100%\"> <b>Contato</b></div>'\r\n\t menu2[3]='<a href=\"/alunos/contato/criticas/\" class=dropmenul target=_self>Cr\xEDticas e Sugest\xF5es</a>'\r\n\t\t\tmenu2[4]='<div class=dropmenu style=\"width:100%\"> <b>Servi\xE7os</b></div>'\r\n\t\t\tmenu2[5]='<a href=\"/alunos/servicos/senha/\" class=dropmenul target=_self>Altera\xE7\xE3o de Senha</a>'\r\n\t\t\t\r\n\t // Academico\r\n\t var menu3=new Array()\r\n\t menu3[0]='<div class=dropmenu style=\"width:100%\"> <b>Informa\xE7\xF5es</b></div>'\r\n\t menu3[1]='<a href=\"/alunos/informacoes/apresentacao/\" class=dropmenul target=_self>Apresenta\xE7\xE3o</a>'\r\n\t menu3[2]='<a href=\"/alunos/informacoes/duvidas/\" class=dropmenul target=_self>D\xFAvidas Freq\xFCentes</a>'\r\n\t //menu3[3]='<a href=\"#\" onclick=\"javascript:guia();\" class=dropmenul target=_self>Guia do Aluno</a>'\r\n\t menu3[4]='<a href=\"http://www.uniara.com.br/graduacao/eng_computacao/\" class=dropmenul target=_blank>Meu Curso</a>'\r\n\t menu3[5]='<div class=dropmenu style=\"width:100%\"> <b>Consultas</b></div>'\r\n\t menu3[6]='<a href=\"/alunos/consultas/disciplinas/\" class=dropmenul target=_self>Disciplinas Matriculadas</a>'\r\n\t menu3[7]='<a href=\"/alunos/consultas/dados/\" class=dropmenul target=_self>Dados Cadastrais</a>'\r\n\t menu3[8]='<a href=\"/alunos/consultas/horario/\" class=dropmenul target=_self>Hor\xE1rio de Aula</a>'\r\n\t menu3[9]='<a href=\"/alunos/consultas/atividades/\" class=dropmenul target=_self>Atividades Complementares</a>'\r\n\t menu3[10]='<a href=\"/alunos/consultas/historico/\" class=dropmenul target=_self>Hist\xF3rico Escolar</a>'\r\n\t menu3[11]='<a href=\"/alunos/consultas/arquivos/\" class=dropmenul target=_self>Arquivos Dispon\xEDveis</a>'\r\n\t menu3[12]='<a href=\"/alunos/consultas/requerimentos/\" class=dropmenul target=_self>Requerimentos</a>'\r\n\t menu3[13]='<a href=\"/alunos/consultas/planoensino/\" class=dropmenul target=_self>Planos de Ensino das Disciplinas</a>'\r\n\t menu3[14]='<a href=\"/alunos/consultas/calendario/\" class=dropmenul target=_self>Calend\xE1rio Acad\xEAmico</a>'\r\n\t menu3[15]='<a href=\"/alunos/consultas/notas/\" class=dropmenul target=_self>Registro de Notas</a>'\r\n\t menu3[16]='<a href=\"/alunos/consultas/faltas/\" class=dropmenul target=_self>Registro de Faltas</a>'\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t //menu3[17]='<a href=\"/alunos/consultas/mensagens/\" class=dropmenul target=_self>Caixa de Mensagens</a>'\r\n\r\n\t menu3[18]='<div class=dropmenu style=\"width:100%\"> <b>Servi\xE7os</b></div>'\r\n\t menu3[19]='<a href=\"/alunos/servicos/dados/\" class=dropmenul target=_self>Altera\xE7\xE3o de Cadastro</a>'\r\n\t menu3[20]='<a href=\"/alunos/servicos/biblioteca/\" class=dropmenul target=_self>Biblioteca</a>'\r\n\t menu3[21]='<a href=\"/alunos/servicos/requerimentos/\" class=dropmenul target=_self>Solicita\xE7\xE3o de Requerimentos</a>'\r\n\t menu3[22]='<a href=\"/alunos/servicos/matricula/\" class=dropmenul target=_self>Matr\xEDcula On-line</a>'\t\t\t\r\n\t menu3[23]='<div class=dropmenu style=\"width:100%\"> <b>Contato</b></div>'\r\n\t menu3[24]='<a href=\"/alunos/contato/central/\" class=dropmenul target=_self>Central de Atendimento</a>'\t\t\t\t\r\n\t\t\t\t menu3[25]='<a href=\"/alunos/servicos/coordenador/\" class=dropmenul target=_self>Fale com seu coordenador</a>'\r\n\t\t\t\t\t\t\t\r\n\t\r\n\t // Financeiro\r\n\t var menu4=new Array()\r\n\t menu4[0]='<div class=dropmenu style=\"width:100%\"> <b>Informa\xE7\xF5es</b></div>'\r\n\t menu4[1]='<a href=\"/alunos/financeiro/apresentacao/\" class=dropmenul target=_self>Apresenta\xE7\xE3o</a>'\r\n\t menu4[2]='<a href=\"/alunos/financeiro/duvidas/\" class=dropmenul target=_self>D\xFAvidas Freq\xFCentes</a>'\r\n\t menu4[3]='<div class=dropmenu style=\"width:100%\"> <b>Consultas</b></div>'\r\n\t menu4[4]='<a href=\"/alunos/financeiro/dados/\" class=dropmenul target=_self>Dados Financeiros</a>'\r\n\t menu4[5]='<a href=\"/alunos/financeiro/mensalidades/\" class=dropmenul target=_self>Mensalidades Atrasadas</a>'\r\n\t menu4[6]='<div class=dropmenu style=\"width:100%\"> <b>Servi\xE7os</b></div>'\r\n\t menu4[7]='<a href=\"/alunos/financeiro/segundavia/\" class=dropmenul target=_self>Segunda via de Carn\xEA</a>'\r\n\t menu4[8]='<div class=dropmenu style=\"width:100%\"> <b>Contato</b></div>'\r\n\t menu4[9]='<a href=\"/alunos/contato/financeiro/\" class=dropmenul target=_self>Tesouraria</a>'\r\n\t\r\n\t // Fora de Sala\r\n\t var menu5=new Array()\r\n\t menu5[0]='<a href=\"/alunos/foradesala/vagasestagio/\" class=dropmenul target=_self>Est\xE1gios e Oportunidades</a>'\r\n\t menu5[1]='<div class=dropmenu style=\"width:100%\"> <b>Entretenimento</b></div>'\r\n\t //menu5[2]='<a href=\"/alunos/foradesala/enquetes/\" class=dropmenul target=_self>Enquetes</a>'\r\n\t menu5[3]='<a href=\"http://www.dceuniara.com.br\" class=dropmenul target=_blank>Site DCE</a>'\r\n\t menu5[4]='<a href=\"/alunos/foradesala/calendario/\" class=dropmenul target=_self>Agenda</a>'\r\n\t menu5[5]='<div class=dropmenu style=\"width:100%\"> <b>Setores de Apoio ao Aluno</b></div>'\r\n\t menu5[6]='<a href=\"/alunos/foradesala/relacionamento/\" class=dropmenul target=_self>Setor de Relacionamento</a>'\r\n\t menu5[7]='<a href=\"/alunos/foradesala/estagios/\" class=dropmenul target=_self>Divis\xE3o de Est\xE1gios</a>'\r\n\t menu5[8]='<a href=\"/alunos/foradesala/central/\" class=dropmenul target=_self>Central de Atendimento</a>'\r\n\t menu5[9]='<a href=\"/alunos/foradesala/biblioteca/\" class=dropmenul target=_self>Biblioteca</a>'\r\n\t\t</script>\r\n\t\t<script src=\"/templates/js/menu.js\" type=\"text/javascript\"></script>\r\n\t</head>\r\n\t<body onLoad=\"barranavegacao();\" bgcolor=\"#ffffff\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">\r\n\t\t<div id=\"barranavegacao\"></div>\r\n\t\t<table width=\"770\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"62\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"25\" background=\"/templates/alunos/imagens/t1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td background=\"/templates/alunos/imagens/t2.gif\" align=\"center\">\r\n\t\t\t\t\t\t\t\t<img src=\"/templates/alunos/imagens/trans.gif\"><BR>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"25\" background=\"/templates/alunos/imagens/t3.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"50\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"25\" background=\"/templates/alunos/imagens/t1.gif\" valign=\"bottom\"><img src=\"/templates/alunos/imagens/t4.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"68\" background=\"/templates/alunos/imagens/t5.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"8\"><img src=\"/templates/alunos/imagens/t21.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"111\" background=\"/templates/alunos/imagens/t22.gif\" align=\"center\">\r\n\t\t\t\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td height=\"30\" colspan=\"2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td align=\"center\">\r\n\t\t\t\t\t\t\t\t\t\t\t<font color=\"#FFFFFF\" size=\"1\" style=\"font:10px\"><b>UNIARA VIRTUAL</b></font>\r\n\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t\t<td width=\"4\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"9\"><img src=\"/templates/alunos/imagens/t23.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"8\" bgcolor=\"#5E8EA2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td bgcolor=\"#5E8EA2\"><font color=\"#FFFFFF\" size=\"6\">ALUNO</font></td>\r\n\t\t\t\t\t\t\t<td width=\"5\"><img src=\"/templates/alunos/imagens/t8.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"134\" background=\"/templates/alunos/imagens/t9.gif\">\r\n\t\t\t\t\t\t\t\t<table width=\"100%\" height=\"50\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td height=\"16\" align=\"center\">\r\n\t\t\t\t\t <table width=\"98%\" height=\"16\" border=\"0\" align=\"CENTER\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t \t<form name=\"redirect\" action=\"#\">\r\n\t\t\t\t\t <tr>\r\n\t\t\t\t\t <td align=\"center\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div id=\"tlimite\">\r\n\t\t\t\t\t\t\t\t\t\t \t\t<script>\r\n\t\t\t\t\t\t\t\t\t\t \t\t\tvar atual = 120;\r\n\t\t\t\t\t\t\t\t\t\t \t\t\tvar pagina = \"_notas.php\"; \r\n\t\t\t\t\t\t\t\t\t\t \t\t\ttempolimite();\r\n\t\t\t\t\t\t\t\t\t\t \t\t</script>\r\n\t\t\t\t\t\t\t\t\t \t\t</div>\r\n\t\t\t\t\t </td>\r\n\t\t\t\t\t </tr>\r\n\t\t\t\t\t </form>\r\n\t\t\t\t\t </table>\r\n\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"4\"><img src=\"/templates/alunos/imagens/t10.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"25\" background=\"/templates/alunos/imagens/t3.gif\" valign=\"bottom\"><img src=\"/templates/alunos/imagens/t6.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"46\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"9\"><img src=\"/templates/alunos/imagens/t11.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"152\" bgcolor=\"#5E8EA2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"51\"><img src=\"/templates/alunos/imagens/t12.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<table width=\"400\" height=\"18\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td background=\"/templates/alunos/imagens/local.jpg\">\r\n\t\t\t\t\t\t\t\t\t\t\t<font color=\"#737373\"><b> Acad\xEAmico > Consultas > Registro de Notas</b></font>\r\n\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\t\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"12\"><img src=\"/templates/alunos/imagens/t13.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"20\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"151\" bgcolor=\"#5E8EA2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"9\"><img src=\"/templates/alunos/imagens/t14.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"49\"> </td>\r\n\t\t\t\t\t\t\t<td width=\"4\"><img src=\"/templates/alunos/imagens/t15.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td bgcolor=\"#5E8EA2\">\r\n <table width=\"98%\" height=\"100%\" border=\"0\" align=\"CENTER\" cellpadding=\"0\" cellspacing=\"0\">\r\n <tr>\r\n <td align=\"left\">\r\n \t<font color=\"#FFFFFF\">\r\n \t<b>Boa Noite, GUILHERME FRANGIOTTI PIRES</b>\r\n </font>\r\n </td>\r\n <td width=\"110\" align=\"right\">\r\n <font color=\"#FFFFFF\" size=\"2\">\r\n \t\t<b>|</b>\r\n \t</font>\r\n \t<font color=\"#FFFFFF\" size=\"1\">\r\n \t \r\n \t\t<b>Acesso n\xBA 996</b>\r\n \t</font>\r\n </td>\r\n <td width=\"5\">\r\n \t<img src=\"/templates/alunos/imagens/trans.gif\"><BR>\r\n </td>\r\n </tr>\r\n </table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"51\"><a href=\"/login/\"><img src=\"/templates/alunos/imagens/sair.gif\"></a><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"22\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"150\" bgcolor=\"#5E8EA2\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"8\"><img src=\"/templates/alunos/imagens/t16.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"26\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"26\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"150\" bgcolor=\"#47778B\" align=\"center\"><a href=\"/alunos/index/\" class=\"menu\">home</a></td>\r\n\t\t\t\t\t\t\t<td bgcolor=\"#B1B1B1\">\r\n\t\t <table height=\"26\" border=\"0\" align=\"CENTER\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t <tr>\r\n\t\t \r\n \r\n \r\n <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu1, '150px')\" onMouseout=\"delayhidemenu()\">institucional</a><BR></td>\r\n\t\t <td width=\"22\" align=\"center\"><font size=\"2\" color=\"#ffffff\"><b>|</b></font><BR></td>\r\n\t\t <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu2, '150px')\" onMouseout=\"delayhidemenu()\">uniara virtual</a><BR></td>\r\n\t\t <td width=\"22\" align=\"center\"><font size=\"2\" color=\"#ffffff\"><b>|</b></font><BR></td>\r\n\t\t <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu3, '203px')\" onMouseout=\"delayhidemenu()\">acad\xEAmico</a><BR></td>\r\n\t\t <td width=\"22\" align=\"center\"><font size=\"2\" color=\"#ffffff\"><b>|</b></font><BR></td>\r\n\t\t <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu4, '150px')\" onMouseout=\"delayhidemenu()\">financeiro</a><BR></td>\r\n\t\t <td width=\"22\" align=\"center\"><font size=\"2\" color=\"#ffffff\"><b>|</b></font><BR></td>\r\n\t\t <td width=\"103\" align=\"center\"><a href=# class=\"menu\" onMouseOver=\"return dropdownmenu(this, event, menu5, '170px')\" onMouseout=\"delayhidemenu()\">fora de sala</a><BR></td>\r\n\t\t </tr>\r\n\t\t </table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td valign=\"top\">\r\n \t\t<!-- Centro da P\xE1gina -->\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td valign=\"top\">\r\n\t\t\t\t\t\t\t\t<table width=\"96%\" align=\"center\">\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<td valign=\"top\">\r\n<BR>\r\n<div id=\"limite\"></div>\r\n<div id='conteudo'></div> <table width=\"99%\" border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#000000\">\r\n\t\t\t\t<tr bgcolor=\"#9999CC\"> \r\n\t\t\t\t\t\t<td bgcolor=\"#47778b\"><b>Disciplina</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>1\xBA bim.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>2\xBA bim.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>3\xBA bim.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>4\xBA bim.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>Sub.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>M\xE9dia</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>Ciclo Rec.</b></td>\r\n\t\t\t\t\t\t<td valign=\"top\" align=\"center\" bgcolor=\"#47778b\"><b>Situa\xE7\xE3o</b></td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>ADMINISTRAÇÃO E ECONOMIA</td>\r\n\t\t\t\t\t\t<td align=\"center\">N.C.</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>COMPILADORES</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>ESTÁGIO SUPERVISIONADO</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>GERENCIAMENTO DE PROJETOS E SISTEMAS</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>INTELIGENCIA ARTIFICIAL</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>METODOLOGIA CIENTÍFICA E TECNOLÓGICA</td>\r\n\t\t\t\t\t\t<td align=\"center\">N.C.</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>PERIFÉRICOS E INTERFACES</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>PROCESSAMENTO GRÁFICO E DE IMAGENS</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>PROJETO E ANÁLISE DE ALGORITMOS</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>ROBÓTICA E AUTOMAÇÃO INDUSTRIAL</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>SISTEMAS DISTRIBUÍDOS E PROGRAMAÇÃO CONCORRENTE</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>SISTEMAS EMBARCADOS MICROPROCESSADOS</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#FFFFFF>\r\n\t\t\t\t\t\t<td>TÓPICOS EM ENGENHARIA DE COMPUTAÇÃO</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<tr bgcolor=#bdd6e0>\r\n\t\t\t\t\t\t<td>TRABALHO DE CONCLUSÃO DE CURSO</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">--</td>\r\n\t\t\t\t\t\t<td align=\"center\">CRS</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t\r\n\t\t\t</table>\r\n\t\t\t<BR>\r\n\t\t \t<center>Acesse <b>\"<a href=\"/alunos/consultas/historico/\">Hist\xF3rico Escolar</a>\"</b> para consultar disciplinas j\xE1 encerradas.</center>\r\n\t\t \r\n\t\t <BR><BR>\r\n\t\t \r\n\t\t <strong>Legenda Coluna Situa\xE7\xE3o:</strong><br />\r\n\t\t Situa\xE7\xE3o CRS = Cursando;<br />\r\n\t\t Situa\xE7\xE3o CRN = Ciclo de Recupera\xE7\xE3o por Nota;<br />\r\n\t\t Situa\xE7\xE3o CRF = Ciclo de Recupera\xE7\xE3o por Falta;<br /><BR>\r\n\t\t \r\n\t\t <strong>Importante:</strong><br /><BR>\r\n\t\t 1. Informamos que os professores respons\xE1veis pelas disciplinas devem encaminhar as notas para Secretaria eletronicamente, portanto quaisquer d\xFAvidas em rela\xE7\xE3o \xE0s notas lan\xE7adas no sistema devem ser tratadas diretamente com o professor.<BR><BR>\r\n\t\t\t2. A responsabilidade do cumprimento dos prazos de encaminhamento das notas para a Secretaria fica a cargo da coordena\xE7\xE3o de cada curso.<BR><BR>\r\n\t\t\t3. As notas s\xE3o disponibilizadas automaticamente na UNIARA Virtual em at\xE9 24 horas ap\xF3s seu envio.<BR>\r\n\t\t\t<BR>\r\n\t\t\t<div id=\"limite2\"></div>\t\t\t\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table> \t\t\t\t<!-- Fim Centro da P\xE1gina -->\r\n\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"20\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"1\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"1\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s1.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"2\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td bgcolor=\"#000000\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"2\" bgcolor=\"#929292\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"3\" background=\"/templates/alunos/imagens/s2.gif\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"84\">\r\n\t\t\t\t\t<table width=\"100%\" height=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td width=\"109\"><img src=\"/templates/alunos/imagens/t18.jpg\"><BR></td>\r\n\t\t\t\t\t\t\t<td width=\"20\" background=\"/templates/alunos/imagens/t19.jpg\"><img src=\"/templates/alunos/imagens/trans.gif\"><BR></td>\r\n\t\t\t\t\t\t\t<td background=\"/templates/alunos/imagens/t19.jpg\">\r\n\t\t\t\t\t\t\t\t<font face=\"verdana\" size=\"1\" color=\"#4c4c4c\">\r\n\t\t\t\t\t\t\t\t\t<BR>\r\n\t\t\t\t\t\t\t\t\t<B>Copyright \xA9 2015 Centro Universit\xE1rio de Araraquara - UNIARA.</B><BR>\r\n\t\t\t\t\t\t\t\t\tTodos os direitos reservados - UV.2.1-WV - NOTAS-2.0-BETA-1-WV.<BR><BR> \r\n\t\t\t\t\t\t\t\t</font>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td width=\"15\"><img src=\"/templates/alunos/imagens/t20.jpg\"><BR></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td height=\"5\">\r\n\t\t\t\t\t<img src=\"/templates/alunos/imagens/trans.gif\"><BR>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</body>\r\n</html>\r\n<script type=\"text/javascript\">\r\n\r\n var _gaq = _gaq || [];\r\n _gaq.push(['_setAccount', 'UA-27812250-1']);\r\n _gaq.push(['_setDomainName', 'uniara.com.br']);\r\n _gaq.push(['_trackPageview']);\r\n\r\n (function() {\r\n var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r\n ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r\n var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r\n })();\r\n\r\n</script>\r\n
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'webmock/rspec'
|
3
|
+
require 'simplecov'
|
4
|
+
require 'support/fixture_helper'
|
5
|
+
|
6
|
+
SimpleCov.start do
|
7
|
+
add_filter '/spec/'
|
8
|
+
end
|
9
|
+
|
10
|
+
RSpec.configure do |config|
|
11
|
+
config.include FixtureHelper
|
12
|
+
end
|
13
|
+
|
14
|
+
require 'uniara_virtual_parser'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module UniaraVirtualParser
|
4
|
+
describe Client do
|
5
|
+
after :each do
|
6
|
+
described_class.instance_variable_set :@client, nil
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:client) { double(:client, post: true) }
|
10
|
+
|
11
|
+
describe '.client' do
|
12
|
+
it 'create only one hurley_client object' do
|
13
|
+
expect(Hurley::Client).to receive(:new).once { client }
|
14
|
+
described_class.post '/batman'
|
15
|
+
described_class.post '/batman'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '.post' do
|
20
|
+
it 'calls hurley_client and send the post' do
|
21
|
+
expect(client).to receive(:post).with('/batman')
|
22
|
+
allow(Hurley::Client).to receive(:new) { client }
|
23
|
+
described_class.post '/batman'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module UniaraVirtualParser
|
4
|
+
module Services
|
5
|
+
describe Grades do
|
6
|
+
describe '.grades' do
|
7
|
+
it 'fetch the content of uniara virtual and bring the array with grades' do
|
8
|
+
stub_request(:get, "http://virtual.uniara.com.br/alunos/consultas/notas/").
|
9
|
+
to_return(:status => 200, body: uniara_virtual_fixture("grades.html").read, headers: {})
|
10
|
+
grades = described_class.grades
|
11
|
+
expect(grades.first.name).to eq "ADMINISTRAÇÃO E ECONOMIA"
|
12
|
+
expect(grades.length).to eq 14
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module UniaraVirtualParser
|
4
|
+
module Services
|
5
|
+
describe Login do
|
6
|
+
let(:body) do
|
7
|
+
{ 'senha' => 'wayne', 'username' => 'bruce' }
|
8
|
+
end
|
9
|
+
|
10
|
+
context 'with a valid login' do
|
11
|
+
let(:response_headers) do
|
12
|
+
{
|
13
|
+
'Set-Cookie' => 'PHPSESSID=64sbv9srm10tove94kn7nutfb2;'\
|
14
|
+
'path=/, UVXS233E3=N; expires=Wed, 20-May-2015 02:32:01 GMT,'\
|
15
|
+
'tipoAcesso=virtual; expires=Thu, 21-May-2015 04:32:01 GMT;'\
|
16
|
+
'path=/; domain=.uniara.com.br, UVXS233E3=S;'\
|
17
|
+
'expires=Wed, 20-May-2015 05:32:01 GMT; path=/'
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'sets the token in the Client' do
|
22
|
+
stub_request(:post, 'http://virtual.uniara.com.br/login')
|
23
|
+
.with(body: body)
|
24
|
+
.to_return(status: 200, body: '', headers: response_headers)
|
25
|
+
|
26
|
+
expect { described_class.login 'bruce', 'wayne' }
|
27
|
+
.to change(Client, :token)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'with an invalid login' do
|
32
|
+
let(:response_headers) do
|
33
|
+
{
|
34
|
+
'Set-Cookie' => 'PHPSESSID=64sbv9srm10tove94kn7nutfb2;'\
|
35
|
+
'path=/, UVXS233E3=N; expires=Wed, 20-May-2015 02:32:01 GMT,'\
|
36
|
+
'tipoAcesso=virtual; expires=Thu, 21-May-2015 04:32:01 GMT;'\
|
37
|
+
'path=/; domain=.uniara.com.br,'\
|
38
|
+
'expires=Wed, 20-May-2015 05:32:01 GMT; path=/'
|
39
|
+
}
|
40
|
+
end
|
41
|
+
it 'raises InvalidLogin error' do
|
42
|
+
stub_request(:post, 'http://virtual.uniara.com.br/login')
|
43
|
+
.with(body: body)
|
44
|
+
.to_return(status: 200, body: '', headers: response_headers)
|
45
|
+
|
46
|
+
expect { described_class.login 'bruce', 'wayne' }
|
47
|
+
.to raise_error(UniaraVirtualParser::InvalidLogin)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'uniara_virtual_parser/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'uniara_virtual_parser'
|
8
|
+
spec.version = UniaraVirtualParser::VERSION
|
9
|
+
spec.authors = ['Carlos Ribeiro']
|
10
|
+
spec.email = ['mail@carlosribeiro.me']
|
11
|
+
spec.summary = 'A Gem to parse the Uniara Virtual system'
|
12
|
+
spec.description = spec.summary
|
13
|
+
spec.homepage = ''
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_dependency 'hurley', '~> 0.1'
|
22
|
+
spec.add_dependency 'nokogiri', '~> 1.6.6.2'
|
23
|
+
spec.add_development_dependency 'bundler', '~> 1.7'
|
24
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
25
|
+
spec.add_development_dependency 'rspec', '~> 3.2.0'
|
26
|
+
spec.add_development_dependency 'simplecov', '~> 0.10.0'
|
27
|
+
spec.add_development_dependency 'webmock', '~> 1.21.0'
|
28
|
+
end
|
metadata
ADDED
@@ -0,0 +1,171 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: uniara_virtual_parser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Carlos Ribeiro
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-05-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: hurley
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: nokogiri
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.6.6.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.6.6.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.7'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.7'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 3.2.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 3.2.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: simplecov
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.10.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.10.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: webmock
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.21.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.21.0
|
111
|
+
description: A Gem to parse the Uniara Virtual system
|
112
|
+
email:
|
113
|
+
- mail@carlosribeiro.me
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".gitignore"
|
119
|
+
- ".rspec"
|
120
|
+
- ".rubocop.yml"
|
121
|
+
- ".ruby-gemset"
|
122
|
+
- ".ruby-version"
|
123
|
+
- ".travis.yml"
|
124
|
+
- Gemfile
|
125
|
+
- LICENSE.txt
|
126
|
+
- README.md
|
127
|
+
- Rakefile
|
128
|
+
- lib/uniara_virtual_parser.rb
|
129
|
+
- lib/uniara_virtual_parser/client.rb
|
130
|
+
- lib/uniara_virtual_parser/models/subject.rb
|
131
|
+
- lib/uniara_virtual_parser/services/grades.rb
|
132
|
+
- lib/uniara_virtual_parser/services/login.rb
|
133
|
+
- lib/uniara_virtual_parser/version.rb
|
134
|
+
- spec/fixtures/uniara_virtual/grades.html
|
135
|
+
- spec/spec_helper.rb
|
136
|
+
- spec/support/fixture_helper.rb
|
137
|
+
- spec/uniara_virtual_parser/client_spec.rb
|
138
|
+
- spec/uniara_virtual_parser/services/grades_spec.rb
|
139
|
+
- spec/uniara_virtual_parser/services/login_spec.rb
|
140
|
+
- uniara_virtual_parser.gemspec
|
141
|
+
homepage: ''
|
142
|
+
licenses:
|
143
|
+
- MIT
|
144
|
+
metadata: {}
|
145
|
+
post_install_message:
|
146
|
+
rdoc_options: []
|
147
|
+
require_paths:
|
148
|
+
- lib
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
requirements: []
|
160
|
+
rubyforge_project:
|
161
|
+
rubygems_version: 2.4.3
|
162
|
+
signing_key:
|
163
|
+
specification_version: 4
|
164
|
+
summary: A Gem to parse the Uniara Virtual system
|
165
|
+
test_files:
|
166
|
+
- spec/fixtures/uniara_virtual/grades.html
|
167
|
+
- spec/spec_helper.rb
|
168
|
+
- spec/support/fixture_helper.rb
|
169
|
+
- spec/uniara_virtual_parser/client_spec.rb
|
170
|
+
- spec/uniara_virtual_parser/services/grades_spec.rb
|
171
|
+
- spec/uniara_virtual_parser/services/login_spec.rb
|