# Handbok &konsolekalendar;

## Inledning

&konsolekalendar; är ett kommandoradsgränssnitt för kalendrar. Det låter dig visa, infoga, ta bort eller ändra kalenderhändelser via kommandoraden eller från ett skriptspråk. Dessutom kan &konsolekalendar; skapa en ny kalender, exportera en kalender till ett antal andra format, och importera en annan kalender.

I sitt grundläggande läge visar &konsolekalendar; händelselistan i standardkalendern för aktuellt datum (från 7:00 till 17:00).

Huvudfunktioner i &konsolekalendar;:

- Visa kalenderposter från ett startdatum och -tid till ett slutdatum och -tid

- Infoga (lägga till) kalenderposter

- Ta bort (avlägsna) kalenderposter

- Modifiera (ändra) kalenderposter

- Skapa en ny kalender

- Exportera kalenderposter till andra filformat

- Importera en befintlig kalender

&konsolekalendar; är inte ett annat grafiskt gränssnitt till en &kde;-kalender (dvs. &korganizer;) &konsolekalendar; är bara avsett för användning där ett grafiskt användargränssnitt inte är praktiskt eller möjligt.

&konsolekalendar; tillhandahåller inte ett fullständigt språk för att göra förfrågningar om användarens kalender, det är heller inte upphovsmännens avsikt att någonsin lägga till en sådan möjlighet. Enkla kommandoradsväljare tillhandahålls för att komma åt kalenderhändelser i ett datum- och tidsintervall.

## Funktioner

I det här kapitlet lär du dig om huvudfunktionerna i &konsolekalendar;, och hur du kan styra dem med kommandoradsväljare (kom ihåg att &konsolekalendar; inte har ett grafiskt användargränssnitt, utan bara är ett kommadoradsprogram).

Du lär dig om att infoga, ta bort och ändra kalenderhändelser, och hur händelser kan exporteras till andra filformat. Att skapa och importera kalendrar täcks också i det här kapitlet.

### Visa händelser

I normalläge, eller genom att använda väljaren `--view`, listar &konsolekalendar; händelser i ett angivet datum- och tidsintervall.

För att visa alla dagens händelser (från 7:00 till 17:00), kör helt enkelt:

    % konsolekalendar

I nästa exempel, visar vi alla händelser för veckan från 18 till 22 augusti:

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

Visa nästa händelse(r) i kalendern från aktuell tid och framåt:

    % konsolekalendar --next

För att visa alla händelser för de fem nästa dagarna, kör:

    % konsolekalendar --show-next 5

### Infoga händelser

&konsolekalendar; kan infoga händelser i en kalender eller kalenderresurs med kommandoradsväljaren `--add`. Händelser som infogas med lyckat resultat, visas omedelbart av &kde;:s kalenderprogram (som &korganizer;).

Du får en lista över alla kalendrar och deras id genom att använda:

    % konsolekalendar --list-calendars

I följande exempel infogas en händelse som börjar 2016-12-01 (1:e december, 2016) klockan 10:00 och slutar klockan 12:00 med sammanfattningen "Läkarbesök" i användarens standardkalenderresurs och med id 8:

    % konsolekalendar --add --calendar 8 --date 2016-12-03 --time 10:00 \
    --end-time 12:00 --summary "Läkarbesök"

I det här exemplet läggs en födelsedag till i användarens standardkalenderresurs med id 8:

    % konsolekalendar --add --calendar 8 --date 2016-12-06 --summary "Min födelsedag" \
    --description "Dags att festa"

Här infogas en veckas semester i en delad kalender med id 8:

    % konsolekalendar --add --calendar 12 --date 2017-08-01 \
    --end-date 2017-08-07 --summary "Semester" --description "Ingen kan någonsin hitta mig!"

### Ta bort poster

&konsolekalendar; stöder att ta bort poster i en kalenderfil eller resurs med kommandoradsväljaren `--delete`. Kalenderposter som ska tas bort specificeras exakt med en unik identifieringssträng (UID) med väljaren `--uid`. Unika identifierare hittas genom att först titta på händelsen med väljarna `--view`, --next eller `--show-next`.

Händelser som tas bort med lyckat resultat, tas omedelbart bort inne i &kde;:s kalenderprogram (till exempel &korganizer;).

När du tar bort något från kalendern kan du inte ångra det! Med andra ord, när du tar bort en post kan du inte få tillbaka den borttagna posten. Den är borta för alltid.

Här tar vi bort en kalenderpost med UID `&konsolekalendar;-1887551750.196`:

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

### Ändra händelser

&konsolekalendar; stöder att ändra befintliga poster i en kalenderfil eller resurs med kommandoradsväljaren `--change`. Kalenderposter som ska ändras specificeras exakt med en unik identifieringssträng (UID) med väljaren `--uid`. Unika identifierare hittas genom att först titta på händelsen med väljarna `--view`, --next eller `--show-next`.

Att ändra beter sig på samma sätt som att infoga: Du kan ändra startdatum och -tid, slutdatum och -tid, beskrivning, plats och sammanfattning för en händelse. För händelser som ändras med lyckat resultat, visas ändringen omedelbart av &kde;:s kalenderprogram (som &korganizer;).

Exempel: Här ändrar vi sammanfattningen och beskrivningen för en kalenderpost med UID `&konsolekalendar;-1887551750.196`:

`%```konsolekalendar` `--change` `--uid `&konsolekalendar;-1887551750.196`` `--summary `"Få huvudet undersökt"`` `--description `"Gå inte till den läkaren igen!"```

### Skapa en ny kalenderfil

&konsolekalendar; kan användas för att skapa nya kalendrar från befintliga filer. Du kan skapa kalendern med väljaren `--create` och filnamnet som argument. Filen måste vara en giltig iCal- eller vCal-fil.

Observera: Det går inte att använda väljaren `--dry-run` för att prova om resursen kan skapas.

Observera: &konsolekalendar; kräver filen för att fungera, så ta aldrig bort filen för hand.

Teknisk sidoanmärkning: &konsolekalendar; skapar en ny Akonadi-resurs som pekar på filen med kommandot. Det förhindrar dig inte från att skapa flera resurser som pekar på samma fil.

Skapa en kalenderfil som heter ``semester.ics``

    % konsolekalendar --create semester.ics

Resursen kallas semester när `--list-calendars` används.

Det är inte möjligt att ta bort en Akonadi-resurs med &konsolekalendar;, utan du måste använda &korganizer; eller akonadiconsole.

### Export till andra format

&konsolekalendar; kan exportera en kalender till andra välkända format. Att exportera är ett särskilt sätt att visa. Normalt visas händelser med &konsolekalendar; textformat. För att ändra visningsformat använd kommandoradsväljaren `--export-type`.

För att se en lista med alla exportformat som stöds, använd alternativet `--export-list`, som följer:

    % konsolekalendar --export-list

### Exportformat

Några, men inte nödvändigtvis alla, format som stöds beskrivs i det här avsnittet.

#### &konsolekalendar; textformat

&konsolekalendar;-textformat är &konsolekalendar;s eget format och det är konstruerat för att vara bekvämt att läsa och kunna tolkas av efterföljande skript.

&konsolekalendar; textformat är:

    Date:\t<Händelsens datum>(dddd åååå-MM-dd)
    [\t<Händelsens starttid>(tt:mm) - <Händelsens sluttid>(tt:mm)]
    Summary:
    \t<Sammanfattning av händelsen | "(ingen sammanfattning tillgänglig)">
    Location:
    \t<Händelsens plats | "(ingen platsinformation tillgänglig)">
    Description:
    \t<Beskrivning av händelsen | "(ingen beskrivning tillgänglig)">
    UID:
    \t<Händelsens UID>
    --------------------------------------------------

Utmatning från ``konsolekalendar` `--next` `--export-type` `Text``:

    Date:   Tisdag 2016-11-29
            8:00 - 9:00
    Summary:
            Personalmöte
    Location:
            Konferensrummet
    Description:
            Träffa hela personalen för att diskutera projektet.
    UID:
            &konsolekalendar;-1924621834.134
    --------------------------------------------------

#### &konsolekalendar; kort textformat

Kort textformat tillhandahåller en kompaktare mindre utförlig version av &konsolekalendar;s eget format.

&konsolekalendar; kort textformat är:

    [--------------------------------------------------]
    {<Händelsens datum>(dddd åååå-MM-dd)]
    [<Händelsens starttid>(tt:mm) - <Händelsens sluttid>(tt:mm) | "\t"]
    \t<Sammanfattning av händelsen | \t>[, <Händelsens plats>]
    \t\t<Beskrivning av händelsen | "\t">

Utmatning från ``konsolekalendar` `--next` `--export-type` `Short``:

    --------------------------------------------------
    Tisdag 2016-11-29
    08:00 - 09:00   Personalmöte, Konferensrummet
                    Träffa hela personalen för att diskutera projektet.

#### Format med värden åtskilda av kommatecken (CSV)

Formatet med värden åtskilda av kommatecken visar händelsevärden i samma ordning som &konsolekalendar;s textformat. Den enda skillnaden är att informationen finns på samma rad med varje fält åtskilt av ett kommatecken. De skapade exportfilerna kan direkt importeras i kalkylark som &calligrasheets;, OpenOffice.org Calc och &Microsoft; Excel. Dessutom är CSV-formatet lätt att tolka med efterföljande skript.

Formatet med värden åtskilda av kommatecken (CSV) är:

    "Veckodag, dag månad, år","TT:MM","Veckodag, dag månad, år","TT:MM","Sammanfattning","Plats","Beskrivning","UID"

Utmatning från ``konsolekalendar` `--next` `--export-type` `CSV``:

    "Tisdag, 29 november, 2016","08:00","Tisdag, 29 november, 2016","09:00","Personalmöte","Konferensrummet","Träffa hela personalen\
    i det stora konferensrummet.","&konsolekalendar;-1924621834.134"

#### &HTML;-format

Exportformatet &HTML; skapar en giltig &HTML;-fil som kan publiceras på WWW. Exportformatet är inte lämpligt för efterföljande tolkning av ett skript, men är mycket trevligt för att publicera kalendrar så att de enkelt kan beskådas.

#### HTML-månadsformat

Formatet skapar en &HTML;-fil som visar alla möten under de månader som anges av tidsintervallet. Exportformatet är inte lämpligt för efterföljande tolkning av ett skript, men är mycket trevligt för att publicera kalendrar så att de enkelt kan beskådas.

### Importera kalendrar

&konsolekalendar; kan importera en iCal- eller vCal-kalenderfil till en kalender. Alla händelser från kalendern som importeras infogas, inklusive identiska händelser som redan ingår i kalendern.

För att importera kalenderfilen `semester.ics` till kalendern med id `8` kör:

    % konsolekalendar --import semester.ics --calendar 8

## Kommandoradsväljare

&konsolekalendar; stöder följande väljare:

Alternativ | Beskrivning
Allmänna väljare:
`--help, --help-all` | Visar hjälp om programmets väljare.
`--author` | Visar information om programmets upphovsmän.
`-v, --version` | Visar programmets versionsinformation.
`--license` | Visar programmets licensinformation.
Väljare:
`--verbose` | Skriver ut hjälpsamma meddelanden under körning.
`--dry-run` | Skriv ut vad som skulle ha gjorts, men utför det inte. Ändrar inga filer: infogar, tar bort eller ändrar inga befintliga filer, eller skapar några nya filer.
`--allow-gui` | Tillåt resurser som kan behöva ett interaktivt användargränssnitt. I normal användning utnyttjas bara resurser som aldrig kräver att ett användargränssnitt används (som filbaserade kalendrar).
Förekomsttyper (väljarna kan kombineras):
`--event` | Behandla bara händelser (förval).
`--todo` | Behandla bara uppgifter (inte implementerad).
`--journal` | Behandla bara journaler (inte implementerad).
Huvudkommandolägen:
`--view` | Skriv ut kalenderhändelser i angivet exportformat.
`--add` | Infoga en händelse i kalendern.
`--change` | Ändra en befintlig händelse i kalendern.
`--delete` | Ta bort en befintlig händelse i kalendern.
`--create` `filnamn` | Skapa en ny kalender från en befintlig fil.
`--import` `importfil` | Importera kalendern i huvudkalendern.
`--list-calendars` | Lista tillgängliga kalendrar.
Väljare för kommandolägen:
`--all` | Visa alla kalenderposter.
`--next` | Visa nästa händelse i kalendern.
`--show-next` `dagar` | Visa nästa antal dagars händelser med början på angivet datum.
`--uid` `UID` | Visa, ta bort eller ändra händelsen med den här unika identifieringssträngen.
`--date` `datum` | Börja med dagen [ÅÅÅÅ-MM-DD]. Standardvärde är dagens datum.
`--time` `tid` | Börja med tiden [TT:MM]. Standardvärde för visning är 07:00. För att lägga till eller ändra en flytande händelse, använd alternativen `--time float` eller `--end-time float`.
`--end-date` `slutdatum` | Sluta med dagen [ÅÅÅÅ-MM-DD]. Standardvärde anges av `--date`.
`--end-time` `sluttid` | Sluta med tiden [TT:MM]. Standardvärde för visning är 17:00. För att lägga till eller ändra en flytande händelse, använd alternativen `--time float` eller `--end-time float`.
`--epoch-start` `epok` | Börja vid tiden [sekunder efter epoken].
`--epoch-end` `epok` | Sluta vid tiden [sekunder efter epoken].
`--summary` `sammanfattning` | Lägg till sammanfattning till händelse (fungerar vid tillägg och ändring).
`--description` `beskrivning` | Lägg till beskrivning till händelse (fungerar vid tillägg och ändring).
`--location` `plats` | Lägg till plats till händelse (fungerar vid tillägg och ändring).
`--calendar` `id` | Ange en kalender att använda. Om den inte anges, används &korganizer;s standardresurs.
Exportalternativ:
`--export-type` `exporttyp` | Exportera filtypen. Standardfiltyp för export är text.
`--export-file` `exportfil` | Exportera till fil. Normalt skrivs utdata till standardutmatningen.
`--export-list` | Skriv ut lista med exporttyper som stöds och avsluta.

## Vanliga frågor

Vilka inställningsfiler använder &konsolekalendar;?

Inga.

Vad är programnamnet för &konsolekalendar;?

&konsolekalendar;s programnamn är konsolekalendar.

Vad är formatet för att ange datum?

&konsolekalendar; förkastar datum som anges på kommandoraden om de inte anges enligt standarden ISO 8601, det vill säga ÅÅÅÅ-MM-DD, där ÅÅÅÅ representerar år med fyra siffror (som 2003), MM representerar månader med två siffror (01, 02, ... 12), och DD representerar dagar med två siffror (01, 02, ... 31).

&konsolekalendar; exporterar alltid datum enligt formatet ISO 8601.

Vad är formatet för att ange tid?

&konsolekalendar; förkastar tider som anges på kommandoraden om de inte anges enligt standarden ISO 8601, det vill säga TT:MM:SS, där TT representerar timmar med två siffror (01, 02, ... 24), MM representerar minuter med två siffror (01, 02, ... 60), och SS representerar sekunder med två siffror (01, 02, ... 60).

&konsolekalendar; exporterar alltid tider enligt formatet ISO 8601.

Kommer &konsolekalendar; att infoga en ny händelse i kalendern som är identisk med en som redan finns?

Nej. Se nästa fråga.

Hur avgör &konsolekalendar; att en händelse är identisk till en som redan finns i kalendern?

&konsolekalendar; kontrollerar angivet startdatum och -tid, slutdatum och -tid, och sammanfattningen mot alla händelser i kalendern. En träff sker om alla tre värden passar ihop med en befintlig händelse.

Kan en händelse som inte flyter ändras till en flytande händelse?

Ja. Använd alternativet `--time float` med `--change`.

Varför skrivs händelsernas UID:er ut i de flesta exportformat?

Eftersom du måste ange UID:er för att ta bort eller ändra händelser. Om du inte vill se händelsernas UID:er, använd då exportformatet kort (`--export-type short`).

Hur kan jag få en fråga tillagd bland de här vanliga frågorna?

Skicka dina frågor till winter@kde.org.

## Tack till och licens

&konsolekalendar; program copyright 2002-2007:

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter winter@kde.org

Dokumentation copyright 2003:

- Allen Winter winter@kde.org

- Tuukka Pasanen illuusio@mailcity.com

Stefan Asserhällstefan.asserhall@bredband.net

&underFDL; &underGPL;
&documentation.index;