13. 6. 2017 kissme

Seznámení se základními principy operačního systému UNIX, převážně z uživatelského hlediska. Absolvent kurzu by měl být schopen napsat netriviální program v shellu.
pixelneo
Matfyz(ák|ačka) level I
Příspěvky: 3
Registrován: 11. 9. 2016 16:56
Typ studia: Informatika Bc.

13. 6. 2017 kissme

Příspěvek od pixelneo »

Zadání
Máte dvdrecorder (zařízení umožňující nahrávat televizní pořady). Recorder si umí brát instrukce přes http - kissme.
Úkolem je napsat skript na zadávání těchto pořadů od uživatele a skript na odpovídání recorderu na dotazy na “plán”.

Napište skript kissmerecord, sloužící ke správě naplánovaných nahrávání. Skript má vstupní parametry:
datum kanál od(hhmm) do(hhmm) název
Tyto parametry si uložíte do nějaké databáze (je na vás jaký bude mít formát)

Nebo
pattern (název pořadu, může být wildcard nebo regulání výraz)

Existují soubory obsahující televizní program na daný den ve tvaru hh:mm název

Název těchto souborů je ve tvaru
tv-kanál-yyyymmdd

V nich vyhledáte pořady, jejichž název odpovídá patternu.

Při ukládaní do DB je třeba kontrolovat, zda nějaké se dva pořady nepřekrývají.

Další možný parametr:

-x datum hhmm
Udělá odplánování pořadu.

Bez parametrů: výpis ve tvaru datun kanál od do název status(OK, číslo erroru, ...)


kissmeserver
Ze standardního vstupu čte http a píše na standardní výstup http. Komunikuje s ním rekordér.

Dotaz: GET /tv/record HTTP/1.0

Odpověd: seznam všech dosud nedotázaných naplánovaných nahrání pořadů ve tvaru:
ID,kanál,UTC-od,UTC-do,název,ID

kde UTC-od,do je datum ve tvaru UTC (lze získat fcí date +%s -j yyyymmddhhmm (vrací čas v sekundách od počátku letopočtu (1970)))

Nebo dotaz: GET /tv/status?ProgramID=[ID:err,ID:err...]

Informace o přijetí záznamů a případné (! – závorka […] nemusí existovat (v takovém případě vše proběhlo v pořádku)) errory při zápisu.

Odpověď: HTTP/1.0 200 OK

Asi nikdo to nestihl celé.
Pokud jsem na něco zapomněl, tak to někdo doplňte, prosím.
Sushi
Matfyz(ák|ačka) level I
Příspěvky: 1
Registrován: 13. 6. 2017 22:42
Typ studia: Informatika Bc.

Re: 13. 6. 2017 kissme

Příspěvek od Sushi »

Stejné zadání: http://forum.matfyz.info/viewtopic.php? ... dvd#p22372

Hlavní bylo udělat si kostru návrhu a ten pak postupně zpracovávat do skriptů a funkcí. Nikdo nestihl všechny podčásti, Forstovi to víceméně nevadilo, ale hodnotil kladně, pokud člověk připsal "jak by to řešil, kdyby byl čas". Já třeba vyřešila půlku z "recordu" a půlku ze "serveru". O ten formát HTTP a převod data zase tolika nešlo, neřešil to moc.

Formát databáze si člověk mohl zvolit sám, takže se to pak dalo řešit awkčkem, sedem,... Plusové body si člověk určitě získal, pokud mu (alespoň) popsal kde a jak by použil zámek, kde by kontroloval parametry, jak by si vytvořil unikátní proměnné a podobné věci; takže minimálně na tuhle úlohu byla ideální příprava přečíst si Forstovu Bibli :lol:

Hodně zdaru!

Přihlášených 11, z toho
3x1
1x2
asi 1x3

3x pohovor

3x příště
Odpovědět

Zpět na „SWI095 Úvod do UNIXu“