This repository has been archived by the owner. It is now read-only.
Some scripts for scraping SIS CUNI
Ruby HTML CSS Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
outputs
test
.gitignore
README
Rakefile
TODO
_template.html.haml
_timetable_parallel.html.haml
_timetable_template.html.haml
csvcka-na-yml.rb
isko.gemspec
timetable-requirements.yml.example

README

**isko**
Tohle je silne provizorni sada skriptu, kterou automatizuju nektere bezne veci, ktere chci vedet od SISu.
Nikdo by ji nemel pouzivat (i kdyby to nebylo zabugovane, je to porad zakazane :).

Ma to nejake zavislosti - prinejmensim Mechanize. Mozna z toho nekdy bude gem, ale to bych se musel dost nudit.

Ocekava to heslo do SISu ulozene v ~/Dropbox/secrets/sis-credentials.yml:

	---
	login: "123123123"
	password: "MojeSuperHeslo"

**Autor**
Michal 'prvak' Pokorny (pok@rny.cz)

**Instalace**

	gem build isko.gemspec
	gem install isko-*.gem

**Dokumentace**
Neni a nejspis ani nikdy nebude.

Umi to ale (v dobe posledniho updatu tohohle souboru) tohle:

 * Generovat dobry rozvrh vc. vyberu predmetu a automatickeho stazeni rozvrhu ze SISu podle zadanych podminek a cilove funkce.
 * Spocitat kreditove vazeny prumer.
 * Vypsat vsechny instance nejakeho slotu (bez instanci, ktere jsou treba zruseny kvuli prazdninam).

**Licence**
GPL 3.0

**Testy**
`rake`

**Generator rozvrhu**
Je v `bin/sis-rozvrhovac`. Nainstaluj gem a spust tenhle soubor. (Z tohohle adresare. Je to sice fuj, ale zatim
to staci.) Jako parametr zadej `timetable-requirements.yml.example`. Jestli vsechno dopadne dobre (povede se pristup
k SISu, atd.), objevi se v `outputs/output.html` uzasne HTMLko s rozvrhem.

Jestli to chces pouzit, zkopiruj si nekam `timetable-requirements.yml.example` a pohraj si s tim.

**TODO**
Generator rozvrhu: optimalizuj na kompaktnost rozvrhu.

**Nepredelene ficury generatoru rozvrhu**
Doporucuju tohle necist, protoze to je jenom seznam prikazu na ktere bych jinak zapomnel.

OR-AND:
	gen.either(
		[
			%w{NDMI012}, # Nebo tyhle 2:
			%w{NPFL012 NPFL063}
		]
	)

Potrebuju aspon 1 z tehle:
	gen.require_at_least_subjects(JAZYKY, 1)

Zakazani ucitele
	gen.forbid_teachers = [ 'Strasny Ucitel' ]

Z povinne volitelnych jsou mi kredity nad 25 na nic, ale predtim jim dam skore 2.
	gen.want_subjects_by_credits_up_to(POVINNE_VOLITELNE, 25, 2)

Dej za predmety X bodu navic za kazdy kredit:
	gen.want_subjects_by_credits(%w{NSWI036}, -2)

Povinny volny den:
	gen.require_free_day(1) # utery