Browse Source

Adding Gemfile and Readme

Signed-off-by: Marcin Woźniak <y0rune@aol.com>
master
Marcin Woźniak 11 months ago
parent
commit
036e5a0f7a
Signed by: y0rune GPG Key ID: F204C385F57EB348
  1. 3
      .gitignore
  2. 7
      Gemfile
  3. 16
      README.md
  4. 23
      parser.rb

3
.gitignore

@ -0,0 +1,3 @@
*.lock
*.xls
*.csv

7
Gemfile

@ -0,0 +1,7 @@
source "https://rubygems.org"
ruby "3.0.0"
gem 'thwait', '~> 0.2.0'
gem 'nokogiri', '~> 1.10', '>= 1.10.10'
gem 'open-uri', '~> 0.1.0'
gem 'spreadsheet', '~> 1.2', '>= 1.2.6'

16
README.md

@ -0,0 +1,16 @@
## How to install ruby?
To install ruby you should go [here](https://www.ruby-lang.org/en/downloads/).
## Install requirements:
```bash
bundle install
```
## Requirements in the project:
* `thwait`
* `nokogiri`
* `open-uri`
* `spreadsheet`
for `Ruby 3.0.0`

23
parser.rb

@ -73,10 +73,9 @@ prz_kod.each do |przkod|
prowadzacyWeb = Nokogiri::HTML(open(prowadzacyUrl, :open_timeout => 300).read)
prowadzacyInfo = prowadzacyWeb.css('div#user-attrs-id').text.gsub!(/\s+/, ' ').strip
prowadzacyImie = prowadzacyInfo.match(/Imiona.* Nazwisko/).to_s.sub("Imiona","").sub("Nazwisko","").to_s.match(/\p{L}+./).to_s.strip
prowadzacyNazwisko = prowadzacyInfo.match(/Nazwisko.* Stopnie/).to_s.sub("Nazwisko","").sub("Stopnie","").strip
prowadzacyNazwisko = prowadzacyInfo.match(/Nazwisko.*Stopnie/).to_s.sub("Nazwisko","").sub("Stopnie","").strip
prowadzacyStopien = prowadzacyInfo.match(/Stopnie.*/).to_s.sub("Stopnie i tytuły","").strip
else
prowadzacyImie, prowadzacyNazwisko, prowadzacyStopien = "null"
prowadzacyNazwisko = prowadzacyInfo.match(/Nazwisko .*/).to_s.sub("Nazwisko","").to_s.strip if prowadzacyNazwisko.nil? or prowadzacyNazwisko == ""
end
i = 0
@ -96,9 +95,19 @@ prz_kod.each do |przkod|
end
end
if typ == "Zajęcia"
typ = "Laboratorium"
end
typ = "Laboratorium" if typ == "Zajęcia"
zajcyk = "NULL" if zajcyk.nil?
typ = "NULL" if typ.nil?
kod = "NULL" if kod.nil?
sala = "NULL" if sala.nil?
przedmiot = "NULL" if przedmiot.nil?
nrgrupy = "NULL" if nrgrupy.nil?
limitMiejsc = "NULL" if limitMiejsc.nil?
dzien = "NULL" if dzien.nil?
godzina = "NULL" if godzina.nil?
prowadzacyStopien = "NULL" if prowadzacyStopien.nil? or prowadzacyStopien == ""
prowadzacyImie = "NULL" if prowadzacyImie.nil? or prowadzacyImie == ""
prowadzacyNazwisko = "NULL" if prowadzacyNazwisko.nil? or prowadzacyNazwisko == ""
file = File.open("output.csv", 'a')
puts "Do pliku: #{zajcyk},#{typ},#{kod},#{przedmiot},#{nrgrupy},#{limitMiejsc},#{dzien},#{godzina},#{prowadzacyStopien},#{prowadzacyNazwisko},#{prowadzacyImie}"
@ -113,7 +122,7 @@ prz_kod.each do |przkod|
end
end
ThreadsWait.all_waits(*threads)
book.write "#{semestr}.xlsx"
book.write "#{semestr}.xls"
file.close
ending = Process.clock_gettime(Process::CLOCK_MONOTONIC)
elapsed = ending - starting

Loading…
Cancel
Save