uniara_virtual_parser 0.0.1

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 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
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format documentation
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,6 @@
1
+ Documentation:
2
+ Enabled: false
3
+ AllCops:
4
+ Exclude:
5
+ - 'bin/*'
6
+ - 'spec/**/*'
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
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ before_install:
3
+ - gem install bundler -v '~> 1.5'
4
+ rvm:
5
+ - 1.9.3
6
+ - 2.0.0
7
+ - 2.1.1
8
+ - 2.2.0
9
+ - jruby-19mode
10
+ bundler_args: --without debug
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in uniara_virtual_parser.gemspec
4
+ gemspec
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,3 @@
1
+ module UniaraVirtualParser
2
+ VERSION = '0.0.1'
3
+ 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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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%\">&nbsp;<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>&nbsp;&nbsp;&nbsp;&nbsp;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\">&nbsp;</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 &nbsp;\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>&nbsp;\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
@@ -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,5 @@
1
+ module FixtureHelper
2
+ def uniara_virtual_fixture(filename)
3
+ File.open("./spec/fixtures/uniara_virtual/#{filename}")
4
+ end
5
+ end
@@ -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