Scriptiti
Sisukord
Põhiosa 5p
Tuleb kirjutada käsurea programm, mis on juhitav käsurea parameetrite/võtmete kaudu. Ei ole interaktiivne.
Programm võimaldab vaadata tudengi kodutööde ja eksami/-te seisu vastavalt kursuse kodulehel publitseeritud andmetele.
Käsurealt peab olema võimalik määrata kas programm
- näitab kõikide tudengite tulemusi
- tudengite tulemusi, kelle matriklis sisaldub etteantud filter
- tudengi kirjet, mis vastab etteantud unikaalsele identifikaatorile - UID
Juhul kui kasutaja jätab valiku määramata, siis kuvatakse vaikimisi kõikide tudengite kodutööde/eksamite punktid.
Juhul kui ühtegi kirjet ei leitud, väljastab programm vastava teate.
Kasutajal peab olema võimalus lasta programmil väljastada "kasutusjuhend" - näiteks parameetriga "/h" (help), või "/?". Programm väljastab sellisel juhul võimalikud käsurea parameetrid, koos selgitustega nende kasutusest.
Google Spreadsheets API
Lähteinfo saab kätte kursuse jaoks juba kohandatud Google Spreadsheets API kaudu aadressilt: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdERLR3FvVDBIWXpjT1JlcENmOFdERVE/od7/public/basic
Väljastamisel peab programm iga tudengi kirje ette kuvama lähteinfos sisalduva unikaalse identifikaatori (UID) - näiteks iow8x.
Ning võimaldab UID käsurealt ka määrata. Juhul kui UID on määratud, siis lisab selle lähteinfo päringu koos kaldkriipsuga. Näiteks: /iow8x. Sellisel juhul oleks lõplik lähteinfo URL: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdERLR3FvVDBIWXpjT1JlcENmOFdERVE/od7/public/basic/iow8x
Lähteinfo struktuurist
Soovitav päringu vastust tavalise tekstiredaktoriga veidi uurida.
Siiski üks märkus siia juurde. <content> sees olev vastus on formaadis: <tulbanimi>: <väärtus>,
Juhul kui tulbal väärtust ei ole - siis ei ole vastuses ka tulba nimetust.
<entry> <id>https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/cztg3</id> <updated>2011-09-12T11:57:23.076Z</updated> <category scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#list'/> <title type='text'>050660IABB</title> <content type='text'>yachtzee: 10, tweet: 10, sportinfo: 10, eksamiaeg: 10:00:00, hinne: 4</content> <link rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic/cztg3'/> </entry>
Piisab kui kuvada väljundisse see, mis olemas on - juurde pole vaja midagi "tekitada". Näiteks:
yachtzee 10 tweet 10 sportinfo 10 eksamiaeg 10:00:00 hinne 4
Lisaosa 2p - puhverdamine
Programm puhverdab päringute vastused kõvakettale. Juhul kui puudub Internetiühendus, loeb vastuse puhvrist ja teatab kasutajale näiteks "Internetiühendus puudub, loen puhvrist"
Lisaosa 3p - uuendused/uudised
Programm markeerib kirje, mis on puhvriga võrreldes uuem selliselt, et see oleks kasutajale selgelt eristuv. Näiteks, võiks olla markeeritud kolme tärniga ***) :
[gffaz] Student ID = 106938IVCMM -> yachtzee: 10, tweet: 10, sportinfo: 10, gomoku: 10, eksamiaeg: 10:00:00, hinne: 4 ***[gqnub] Student ID = 109503FAY -> yachtzee: 4
Google Spreadsheets API vastustele on juurdelisatud ajatempel, mida kasutades on võimalik andmede vanust arvutada!
Programm peab võimaldama käsitsi määrata puhvri vanust päevades käsurealt. Soovitav on see teha enne puhvri enda realiseerimist. Lihtsamaks ja kiiremaks arendamiseks ja programmi testimiseks. Näiteks: "java -jar minuprogramm.jar -d 10" otsiks üles muudatused, mis on toimunud viimase 10 päeva sees.
Lisamaterjale
- Google Spreadsheets API
- Lähteandmed eelmisel semestril: https://spreadsheets.google.com/feeds/list/0AnoMCh3_x82sdHhjaG1NZG1uOXVSZWJBblVzbDRDb2c/od7/public/basic