# &konsolekalendar;i käsiraamat

## Sissejuhatus

&konsolekalendar; &kde; kalendrite käsurealiides. See võimaldab vaadata, lisada, eemaldada või muuta kalendris esinevaid sündmusi käsureal või skriptikeele vahendusel. Lisaks võib &konsolekalendar; luua uue &kde; kalendri, eksportida &kde; kalendri paljudesse muudesse vormingutesse ning importida mõne muu &kde; kalendri.

Põhirežiimis näitab &konsolekalendar; käesoleva päeva vaikekalendri sündmusi (ajavahemikus 7:00 kuni 17:00).

&konsolekalendar;i põhiomadused:

- Kalendrikirjete näitamine alguskuupäevast/ajast lõppkuupäeva/ajani

- Kalendrikirjete lisamine

- Kalendrikirjete kustutamine

- Kalendrikirjete muutmine

- Uue kalendri loomine

- Kalendrikirjete eksport muudesse failivormingutesse

- Olemasoleva &kde; kalendri import

&konsolekalendar; ei ole lihtsalt veel üks &kde; kalendri (st. &korganizer;i) graafiline kasutajaliides. &konsolekalendar; on mõeldud just sellisteks juhtumiteks, kus graafilise kasutajaliidese kasutamine ei ole mõttekas või võimalikki.

&konsolekalendar; ei paku kõiki võimalusi kasutaja kalendrile päringute esitamiseks ning autoril ei ole ka kavas midagi sellist kunagi pakkuda. Küll pakutakse põhilisi käsurea võtmeid ligipääsuks kalendri sündmustele ajalises järgnevuses ehk ajatemplite alusel.

## Võimalused

Selles peatükis tutvustame &konsolekalendar;i mitmesuguseid võimalusi ehk siis asju, mida saab määrata käsureal (pea meeles, et &konsolekalendar; ei ole mitte graafiline kasutajaliides, vaid ainult ja ainult käsureaprogramm).

Samuti tuleb siin juttu kalendri sündmuste lisamisest, kustutamisest ja muutmisest ning sündmuste eksportimisest muudesse failivormingutesse. Käsitleme ka &kde; kalendrite loomis ja importimist.

### Sündmuste vaatamine

Vaikerežiimis või võtmega `--view` näitab &konsolekalendar; kõiki määratud ajavahemikku jäävaid sündmusi.

Kõigi tänaste sündmuste (7:00 kuni 17:00) vaatamiseks anna käsk:

    % konsolekalendar

Järgmises näites saab näha kõiki nädalasse 18.-22. august jäävaid sündmusi:

    % konsolekalendar --view --date 2003-08-18  --end-date 2003-08-22

Järgnevate sündmuste nägemiseks kalendris alates käesolevast hetkest anna käsk:

    % konsolekalendar --next

Kõigi järgmise viie päeva sündmuste vaatamiseks anna käsk:

    % konsolekalendar --show-next 5

### Sündmuste lisamine

&konsolekalendar; võib lisada sündmusi &kde; kalendrisse, kui anda käsureal võti `--add`. Edukalt sisestatud sündmused ilmuvad kohe nähtavale &kde; kalendrirakendustes (näiteks &korganizer;).

Järgmises näites lisatakse kasutaja vaikekalendrisse sündmus, mis algab 2003-06-04 (4. juunil 2003) 10:00 ja lõpeb 12:00 ning mille kokkuvõte on "Arsti visiit":

    % konsolekalendar --add --date 2003-06-04 --time 10:00 \
    --end-time 12:00 --summary "Arsti visiit"

Selles näites lisatakse kasutaja vaikekalendrisse sünnipäev:

    % konsolekalendar --add --date 2003-06-06 --summary "Minu sünnipäev" \
    --description "Aeg pidu panna"

Siin aga lisatakse jagatud `puhkuse` kalendrisse nädal puhkust:

    % konsolekalendar --add --file vacation.ics --date 2003-08-01 \
    --end-date 2003-08-07 --summary "Puhkus" --description "Keegi ei saa mind kätte!"

### Kirjete eemaldamine

&konsolekalendar; toetab kirjete eemaldamist kalendrifailist, kui anda käsureal võti `--delete`. Eemaldatavaid kalendrikirjeid saab täpselt määrata nende unikaalse identifikaatori (UID) abil, kasutades võtit `--uid`. UIDs leidmiseks tuleks esmalt sündmust vaadata, mida saab teha võtmega `--view`.

Edukalt eemaldatud sündmused kustutatakse kohe ka &kde; kalendrirakendustest (näiteks &korganizer;).

Kui midagi kalendrist kustutada, ei saa seda tagasi võtta! See tähendab, et kui sündmus on kustutatud, siis on see lõplik.

Selles näites kustutame kalendrist kirje, mille UID on `&konsolekalendar;-1887551750.196`:

    % konsolekalendar --delete --uid &konsolekalendar;-1887551750.196

### Kirjete muutmine

&konsolekalendar; toetab olemasolevate kirjete muutmist kalendrifailis, kui anda käsureal võti `--change`. Muudetavaid kalendrikirjeid saab täpselt määrata nende unikaalse identifikaatori (UID) abil, kasutades võtit `--uid`. UIDs leidmiseks tuleks esmalt sündmust vaadata, mida saab teha võtmega `--view`.

Muutmine käib sarnaselt lisamisega: muuta saab sündmuse algus- ja lõppkuupäeva, algus- ja lõppaega, kirjeldust ja kokkuvõtet. Edukalt muudetud sündmused on muudetud kujul kohe näha ka &kde; kalendrirakendustes (näiteks &korganizer;).

Näide: muudame kokkuvõtet ja kirjeldust kalendrikirjel, mille UID on `&konsolekalendar;-1887551750.196`:

`%```konsolekalendar` `--change` `--uid `&konsolekalendar;-1887551750.196`` `--summary `"Lasen oma pead uurida"`` `--description `"selle arsti juurde ma enam ei lähe!"```

### Uue kalendrifaili loomine

&konsolekalendar;i abil võib luua uue &kde; kalendrifaili. Et kirjet ei saa lisada kalendrisse, mida ei ole olemas, tuleb esmalt luua fail, mida saab teha võtmetega `--create` ja `--file`.

Loome kalendrifaili nimega ``/data/share/calendars/vacation.ics``:

    % konsolekalendar --create --file /data/share/calendars/vacation.ics

### Eksportimine muudesse vormingutesse

&konsolekalendar; võib eksportida &kde; kalendri muudesse levinud vormingutesse. Eksportimine om vaatamise spetsiifiline vorm. Vaikimisi vaadatakse sündmusi &konsolekalendar;i teksti vormingus. Vaatevormingu muutmisest tuleb kasutada võtit `--export-type`.

Kõigi toetatud ekspordivormingute nägemiseks kasuta võtit `--export-list`:

    % konsolekalendar --export-list

### Ekspordivormingud

Selles osas kirjeldatakse mõningaid, kuid tingimata mitte kõiki toetatud vorminguid.

#### &konsolekalendar;i teksti vorming

&konsolekalendar;i teksti vorming on &konsolekalendar;i loomupärane vorming, mis on mõeldud võimalikult mugavaks lugemiseks ja võimalikele skriptidele parsitavaks.

&konsolekalendar;i teksti vorming on:

    Date:\t<Sündmuse kuupäev>(dddd yyyy-MM-dd)
    [\t<Sündmuse algusaeg>(hh:mm) - <Sündmuse lõpuaeg>(hh:mm)]
    Summary:
    \t<Sündmuse kokkuvõte | "(kokkuvõte puudub)">
    Location:
    \t<Sündmuse asukoht | "(asukoht puudub)">
    Description:
    \t<Sündmuse kirjeldus | "(kirjeldus puudub)">
    UID:
    \t<Sündmuse UID>
    --------------------------------------------------

Näiteks:

    Date:   Teisipäev 2003-11-01
            08:00 - 09:00
    Summary:
            Üldkoosolek
    Location:
            Konverentsisaal
    Description:
            Kõigi töötajate koosolek projekti arutamiseks.
    UID:
            &konsolekalendar;-1128954167.1013

#### &konsolekalendar;i lühikese teksti vorming

Lühikese teksti vorming võimaldab &konsolekalendar;i loomupärase vormingu kompaktsemat ja napisõnalisemat esitust.

&konsolekalendar;i lühikese teksti vorming on:

    [--------------------------------------------------]
    {<Sündmuse kuupäev>(dddd yyyy-MM-dd)]
    [<Sündmuse algusaeg>(hh:mm) - <Sündmuse lõpuaeg>(hh:mm) | "\t"]
    \t<Sündmuse kokkuvõte | \t>[, <Sündmuse asukoht>]
    \t\t<Sündmuse kirjeldus | "\t">

Näiteks:

    --------------------------------------------------
    Teisipäev 2003-11-01
    08:00 - 09:00   Üldkoosolek, Konverentsisaal
                    Kõigi töötajate koosolek projekti arutamiseks.

#### Komadega eraldatud väärtuste (CSV) vorming

Komadega eraldatud väärtuste vorming näitab sündmuste väärtusi samas järjekorras nagu &konsolekalendar;i teksti vorming. Ainus erinevus on see, et kogu info on esitatud ühes reas, iga väli eraldatud komaga. Tulemuseks olevat eksportfaili saab vahetult importida tabelarvutusprogrammidesse, näiteks &kspread;, OpenOffice.org Calc ja &Microsoft; Excel. Ka skriptid tulevad CSV vorminguga hõlpsasti toime.

Komadega eraldatud väärtuste (CSV) vorming on:

    YYYY-MM-DD,HH:MM,YYYY-MM-DD,HH:MM,Kokkuvõte,Asukoht,Kirjeldus,UID

Näiteks:

    2003-11-01,08:00,2003-11-01,09:00,Üldkoosolek,Konverentsisaal,Kõigi töötajate koosolek \
    suures konverentsisaalis.,&konsolekalendar;-1128954167.1013

#### &HTML; vorming

&HTML; ekspordivorming annab tulemuseks korrektse &HTML;-faili, mida saab avaldada veebis (WWW). See ekspordivorming ei sobi eriti skriptidele, kuid on samas väga mõnus avalikult väljapandavate kalendrite loomiseks.

TEGEMATA: lisada siia pilt

#### HTMLmonth vorming

See vorming annab tulemuseks &HTML;-faili, mis näitab kõiki kohtumisi kuus määratud ajavahemikus. See ekspordivorming ei sobi eriti skriptidele, kuid on samas väga mõnus avalikult väljapandavate kalendrite loomiseks.

TEGEMATA: lisada siia pilt

### Kalendrite importimine

&konsolekalendar; suudab importida iCali või vCali kalendrifaili &kde; kalendriks. Lisatakse kõik imporditava kalendri sündmused, ka siis, kui need peaksid olema identsed. Loodetavasti juba järgmises &konsolekalendar;i versioonis identseid sündmusi enam ei lisata.

Importimaks kalendrifaili ``another.ics`` kalendrisse ``current.ics``:

    % konsolekalendar --import another.ics --file current.ics

## Käsurea võtmed

&konsolekalendar; toetab järgmisi võtmeid:

Võti | Kirjeldus
`--help, --help-all` | Näitab abiteadet rakenduse võtmete kohta.
`--author` | Näitab infot rakenduse autori kohta.
`-v, --version` | Näitab rakenduse versiooni.
`--license` | Näitab infot rakenduse litsentsi kohta.
`--verbose` | Näitab töö ajal selgitavaid teateid.
`--dry-run` | Näitab, mida mingi käsk teeb, kuid ei rakenda seda tegelikult. Ei muuda ühtegi faili, ei lisa, eemalda ega muuda olemasolevaid faile ega loo uusi faile.
`--allow-gui` | Ressursside võimaldamine, mis võivad vajada interaktiivset kasutajaliidest. Tavalise töö korral kasutatakse ainult ressursse, mis ei vaja kunagi kasutajaliidest (näiteks failipõhised kalendrid).
`--file` `kalendrifail` | Määrab, millist kalendrifaili kasutada. Kui on määramata, kasutatakse &korganizer;i vaikekalendrit.
Peamised töörežiimid:
`--view` | Näitab kalendris olevaid sündmusi määratud vormingus.
`--add` | Lisab kalendrisse sündmuse.
`--change` | Muudab kalendris olevat sündmust.
`--delete` | Eemaldab kalendrist sündmuse.
`--create` | Loob uue kalendrikirje, kui sellist veel ei ole.
`--import` `importfail` | Impordib määratud kalendri põhikalendrisse.
Töörežiimide lisavõtmed:
`--all` | Näitab kõiki kalendrikirjeid.
`--next` | Näitab järgmist sündmust kalendris.
`--show-next` `päevad` | Näitab alates määratud päevast sündmusi järgneval # päeval.
`--uid` `UID` | Näitab, kustutab või muudab sündmust, millel on määratud unikaalne identifikaator.
`--date` `kuupäev` | Alustab määratud kuupäevaga [YYYY-MM-DD]. Vaikimisi on see täna (Today)
`--time` `kellaaeg` | Alustab määratud ajaga [HH:MM]. Vaikimisi 07:00. Liikuva sündmuse lisamiseks või muutmiseks kasuta võtit `--time float` või `--end-time float`.
`--end-date` `lõppkuupäev` | Lõpetab määratud kuupäevaga [YYYY-MM-DD]. Vaikimisi sama, mis `--date`.
`--end-time` `lõppaeg` | Lõpetab määratud ajal [HH:MM]. Vaikimisi 17:00 Liikuva sündmuse lisamiseks või muutmiseks kasuta võtit `--time float` või `--end-time float`.
`--epoch-start` `epohhiaeg` | Alustab määratud ajast [sekundit alates epohhist].
`--epoch-end` `epohhiaeg` | Lõpetab määratud ajal [sekundit alates epohhist].
`--summary` `kokkuvõte` | Lisab sündmusele kokkuvõtte (lisamisel ja muutmisel).
`--description` `kirjeldus` | Lisab sündmusele kirjelduse (lisamisel ja muutmisel).
`--location` `asukoht` | Lisab sündmusele asukoha (lisamisel ja muutmisel).
Ekspordivõtmed:
`--export-type` `eksporttüüp` | Eksportfaili tüüp. Vaikimisi on see tekst (Text)
`--export-file` `eksportfail` | Ekspordib faili. Vaikimisi kirjutatakse väljund standardväljundisse (stdout).
`--export-list` | Näitab toetatud eksporttüüpide nimekirja.

## Küsimused ja vastused

&reporting.bugs; &updating.documentation;

Milliseid konfiguratsioonifaile &konsolekalendar; kasutab?

Mitte ühtki.

Mis on &konsolekalendar;i rakenduse nimi?

&konsolekalendar;i rakenduse nimi on konsolekalendar.

Milline on kuupäeva vorming?

&konsolekalendar; ei arvesta käsureal antud kuupäevi, kui need ei vasta ISO 8601 standardile, see tähendab, ei ole kujul YYYY-MM-DD, kus YYYY on neljakohaline aastanumber (näiteks 2003), MM kahekohaline kuu (01, 02...12) ja DD kahekohaline päev (01, 02...31).

&konsolekalendar; ekspordib kuupäeva alati vastavalt ISO 8601 vormingule.

Milline on kellaaja vorming?

&konsolekalendar; ei arvesta käsureal antud kellaaegu, kui need ei vasta ISO 8601 standardile, see tähendab, ei ole kujul HH:MM:SS, kus HH on kahekohaline tundide number (01, 02...24), MM kahekohaline minutite number (01, 02...60) ja DD kahekohaline sekundite number (01, 02...60).

&konsolekalendar; ekspordib kellaaja alati vastavalt ISO 8601 vormingule.

Kas &konsolekalendar; lisab uue sündmuse, kui see on identne kalendris juba leiduva sündmusega?

Ei. Vaata järgmist küsimust.

Kuidas &konsolekalendar; määrab, kas lisatav sündmus on identne mõne juba kalendris olemasoleva sündmusega?

&konsolekalendar; võrdleb lisatava sündmuse algus- ja lõppkuupäeva, algus- ja lõppkellaaega ning kokkuvõtet kõigi kalendris olemasolevate sündmuste vastavate väärtustega. Sündmused loetakse identseks, kui kõik kolm vääartust kattuvad.

Kas mitteliikuvat sündmust saab muuta liikuvaks?

Jah. Kasuta võtit `--time float` koos võtmega `--change`.

Miks enamik eksportimisvorminguid lisab UID?

Sündmuse kustutamiseks või muutmiseks on vaja teada selle UID-d. Kui sa ei soovi UIDs lisamist, kasuta lühikest eksporditüüpi (`--export-type short`).

Kuidas saan lisada oma küsimuse sellele FAQ-ile?

Saada oma küsimus aadressile winter@kde.org.

## Autorid ja litsents

&konsolekalendar;i rakenduse autoriõigus 2002-2007:

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter winter@kde.org

Dokumentatsiooni autoriõigus 2003:

- Allen Winter winter@kde.org

- Tuukka Pasanen illuusio@mailcity.com

Tõlge eesti keelde: Marek Laane bald@starman.ee

&underFDL; &underGPL;

## Paigaldamine

### &konsolekalendar;i hankimine

&install.intro.documentation;

&konsolekalendar; kuulub &kde;4 koosseisu ega ole omaette saadaval.

### Nõuded

&konsolekalendar;i paigaldamiseks on vajalikud &kde; standardteegid (paketid `kdelibs` ja `kdepimlibs`). Lähtetekstist kompileerimiseks on vajalikud ka &Qt;, `kdelibs` ja `kdepimlibs` arenduspaketid.

Muudatuste nimekirja leiab failist `ChangeLog`.

### Seadistamine

Et &konsolekalendar; töötaks &kde; töölaual, ei ole vaja midagi spetsiaalselt seadistada.

&documentation.index;