# El manual de &konsolekalendar;

## Introducción

&konsolekalendar; es una interfaz de línea de órdenes para los calendarios. Permite ver, insertar, eliminar o modificar eventos de calendario por medio de líneas de órdenes o desde un lenguaje de guiones. Además, &konsolekalendar; puede crear un nuevo calendario, exportar un calendario a una amplia variedad de formatos, e importar otro calendario.

En su modo básico, &konsolekalendar; muestra la lista de eventos de su calendario predeterminado para el día actual (desde las 7:00 a las 17:00).

Características principales de &konsolekalendar;:

- Muestra entradas de calendario desde una fecha/hora de comienzo a una fecha/hora de fin

- Inserta (añade) entradas de calendario

- Elimina (borra) entradas de calendario

- Modifica (cambia) entradas de calendario

- Crea un calendario nuevo

- Exporta entradas de calendario a otros formatos de archivo

- Importa un calendario existente

&konsolekalendar; no es otra interfaz gráfica de usuario para el calendario de &kde; (p. ej. &korganizer;). &konsolekalendar; se proporciona para los casos en los que usar una interfaz gráfica no es práctico o no es posible.

&konsolekalendar; no proporciona un lenguaje plagado de características para realizar consultas sobre el calendario del usuario; tampoco es la intención de los autores dotar al programa de dicha capacidad. Las opciones principales de la línea de órdenes se proporcionan para acceder a los eventos del calendario con un intervalo consecutivo de sellos de fecha/hora.

## Características

En este capítulo, aprenderá cosas acerca de las características de &konsolekalendar; y cómo usar los parámetros de la línea de órdenes (recuerde que &konsolekalendar; no es una interfaz gráfica de usuario, sino solo un programa de línea de órdenes).

También aprenderá cosas sobre la inserción, eliminación y modificación de eventos del calendario y sobre la exportación de eventos a otros formatos de archivo. En este capítulo también se tratará la creación e importación de calendarios.

### Ver eventos

En su modo predeterminado o usando la opción `--view`, &konsolekalendar; mostrará todos los eventos en el intervalo de fechas/horas indicadas.

Para ver todos los eventos del día de la fecha (de 7:00 a 17:00), ejecute:

    % konsolekalendar

En este ejemplo veremos todos los eventos de la semana del 18 al 22 de agosto:

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

Mostrar los próximos eventos en el calendario a partir de este momento:

    % konsolekalendar --next

Para ver todos los eventos de los próximos 5 días, ejecute:

    % konsolekalendar --show-next 5

### Insertar eventos

&konsolekalendar; puede insertar eventos en un calendario usando el argumento `--add` en la línea de órdenes. Los eventos que se inserten correctamente se mostrarán inmediatamente en las aplicaciones de calendario de &kde; (como &korganizer;).

Usted obtiene una lista de calendarios y sus id., mediante:

    % konsolekalendar --list-calendars

En el siguiente ejemplo, se insertará un evento que comienza el día 2016-12-01 (1 de diciembre de 2016) a las 10:00 y que acaba a las 12:00 con el resumen «Visita al doctor» en el calendario predeterminado del usuario:

    % konsolekalendar --add --calendar 8 --date 2016-12-03 --time 10:00 \
    --end-time 12:00 --summary "Visita al doctor"

En este ejemplo se añade un evento de cumpleaños al calendario del usuario con id. 8:

    % konsolekalendar --add --calendar 8 --date 2016-12-06 --summary "Mi cumpleaños" \
    --description "Hora de la fiesta"

Aquí se inserta una semana de vacaciones en un calendario con id. 8:

    % konsolekalendar --add --calendar 12 --date 2017-08-01 \
    --end-date 2017-08-07 --summary "Vacaciones" --description "¡Nadie me encontrará!"

### Eliminar entradas

&konsolekalendar; admite la eliminación de entradas en un archivo de calendario o en un recurso mediante el uso del argumento `--delete` de la línea de órdenes. Las entradas del calendario que se van a eliminar son exactamente las que se especifiquen en su cadena de identificación única (UID), usando la opción `--uid`. Los UID se encuentran al visualizar el evento, usando las opciones `--view`, `--next` or `--show-next`.

Los eventos que se borren correctamente, se eliminarán inmediatamente de las aplicaciones de calendarios de &kde; (por ejemplo, &korganizer;).

Cuando elimine algo del calendario, no podrá deshacerlo. En otras palabras, cuando elimine una entrada no podrá dar marcha atrás al borrado. Simplemente se va.

Aquí borramos una entrada del calendario con UID `&konsolekalendar;-1887551750.196`:

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

### Modificar entradas

&konsolekalendar; admite la modificación de las entradas existentes en un archivo de calendario o de un recurso usando el argumento `--change` de la línea de órdenes. Las entradas del calendario que se van a modificar se especifican exactamente por su cadena de identificación única (UID), usando la opción `--uid`. Los UID se encuentran al visualizar el evento usando las opciones `--view`, `--next` or `--show-next`.

Los cambios se realizan de la misma forma que las inserciones: puede cambiar la fecha y hora de comienzo y de fin, el resumen, la ubicación y la descripción. Los eventos que se modifiquen correctamente, mostrarán las modificaciones inmediatamente en las aplicaciones de calendarios de &kde; (&korganizer;).

Ejemplo: Aquí cambiaremos el resumen y la descripción de una entrada del calendario con UID `&konsolekalendar;-1887551750.196`:

`%```konsolekalendar` `--change` `--uid `&konsolekalendar;-1887551750.196`` `--summary `"Examinarme la cabeza"`` `--description `"no volver a ir a ese doctor"```

### Crear un archivo de calendario nuevo

&konsolekalendar; puede usarse para crear nuevos calendarios desde archivos existentes. Usted puede crear el calendario mediante la opción `--create` con el nombre de archivo como argumento. El archivo debe ser un iCal o vCal válido.

Nota: usted no puede usar la opción `--dry-run` para comprobar si el recurso puede crearse.

Nota: &konsolekalendar; necesita el archivo para funcionar, por lo que nunca borre el archivo a mano.

Nota lateral técnica: &konsolekalendar; crea con esta opción un nuevo recurso Akonadi que apunta a este archivo. No evita que usted cree varios recursos apuntando al mismo archivo.

Crear un nuevo archivo de calendario desde uno que ya existe llamado ``vacation.ics``:

    % konsolekalendar --create vacation.ics

El recurso se denominará vacation usando `--list-calendars`

No es posible borrar un recurso Akonadi con &konsolekalendar;, usted tiene que usar &korganizer; o akonadiconsole.

### Exportar a otros formatos

&konsolekalendar; puede exportar un calendario a otros formatos bien conocidos. La exportación es una forma especial de vista. De forma predeterminada, los eventos se visualizan con el formato texto de &konsolekalendar;. Para cambiar el formato de visualización, use el argumento `--export-type` de la línea de órdenes.

Para ver una lista de todos los formatos de exportación admitidos, use la opción `--export-list`, como en:

    % konsolekalendar --export-list

### Formatos de exportación

En esta sección se describen algunos, aunque no todos, de los formatos admitidos.

#### Formato de texto de &konsolekalendar;

El formato de texto de &konsolekalendar; es un formato nativo y está diseñado para que sea legible y lo puedan analizar otros guiones.

El formato de texto de &konsolekalendar; es:

    Date:\t<Fecha de la incidencia>(dddd yyyy-MM-dd)
    [\t<Hora de comienzo de la incidencia>(hh:mm) - <Incidence End Hora>(hh:mm)]
    Summary:
    \t<Resumen de la incidencia | "(no summary available)">
    Location:
    \t<Ubicación de la incidencia | "(no location available)">
    Description:
    \t<Descripción de la incidencia | "(no description available)">
    UID:
    \t<UID de la incidencia>
    --------------------------------------------------

Salida de ``konsolekalendar` `--next` `--export-type` `Text``:

    Fecha:   martes, 2016-11-29
            08:00 - 09:00
    Resumen:
            Reunión del equipo
    Ubicación:
            Sala de congresos
    Descripción:
            Encuentro con el equipo completo para debatir el proyecto.
    UID:
            &konsolekalendar;-1924621834.134
    --------------------------------------------------

#### Formato corto de texto de &konsolekalendar;

El formato corto de texto proporciona una versión más compacta y menos detallada del formato nativo de &konsolekalendar;.

El formato corto de texto de &konsolekalendar; es:

    [--------------------------------------------------]
    {<Fecha de la incidencia>(dddd yyyy-MM-dd)]
    [<Hora de comienzo de la incidencia>(hh:mm) - <Hora de finalización de la incidencia>(hh:mm) | "\t"]
    \t<Resumen de la incidencia | \t>[, <Ubicación de la incidencia>]
    \t\t<Descripción de la incidencia | "\t">

Salida de ``konsolekalendar` `--next` `--export-type` `Short``:

    --------------------------------------------------
    Martes, 2016-11-29
    08:00 - 09:00   Reunión del equipo, sala de congresos
                    reunión con el equipo completo para debatir el proyecto.

#### Formato de valores separados por comas (CSV)

El formato de valores separados por comas muestra los valores del evento en el mismo orden que en el formato de texto de &konsolekalendar;. La única diferencia es que toda la información está en la misma fila con cada campo separado del siguiente por una coma. Los archivos que resultan de esta importación se pueden importar directamente en programas de hoja de cálculo como &calligrasheets;, OpenOffice.org Calc y &Microsoft; Excel. El formato CSV también se puede analizar fácilmente con otros guiones.

El formato de valores separados por comas (CSV) es:

    "Día de la semana, Día del mes, Año","HH:MM","Día de la semana, Día del mes, Año","HH:MM","Resumen","Ubicación","Descripción","UID"

Salida de ``konsolekalendar` `--next` `--export-type` `CSV``:

    "Martes, noviembre 29, 2016","08:00","Martes, noviembre 29, 2016","09:00","Reunión del equipo","Sala de congresos","Encuentro en la gran sala de  \
    congresos con el equipo completo.","&konsolekalendar;-1924621834.134"

#### Formato &HTML;

El formato de exportación &HTML; genera un archivo &HTML; válido para que se pueda publicar en la WWW. Este formato de exportación no es adecuado para analizarlos mediante guiones, pero es muy recomendable para publicar calendarios y hacerlos visibles de forma sencilla.

#### Formato HTML mensual

Este formato genera un archivo &HTML; que muestra todas las citas del mes especificado en el intervalo de fechas. Este formato de exportación no es adecuado para análisis mediante guiones, pero es muy recomendable para publicar calendarios y hacerlos visibles de forma sencilla.

### Importar calendarios

&konsolekalendar; puede importar un archivo de calendario iCal o vCal en un calendario. Todos los eventos del calendario que se vayan a importar se insertarán, incluyendo los eventos idénticos. En la próxima versión de &konsolekalendar; no se insertarán los eventos idénticos.

Para importar el archivo de calendario ``vacaciones.ics`` en el calendario con id. `8` ejecute:

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

## Argumentos de la línea de órdenes

&konsolekalendar; admite las siguientes opciones:

Opción | Descripción
Opciones genéricas:
`--help, --help-all` | Muestra ayuda acerca de las opciones del programa.
`--author` | Muestra información sobre el autor del programa.
`-v, --version` | Muestra información sobre la versión del programa.
`--license` | Muestra información sobre la licencia del programa.
Opciones:
`--verbose` | Muestra mensajes útiles en tiempo de ejecución.
`--dry-run` | Muestra qué se haría, aunque no lo ejecuta. No cambia ningún archivo; ni inserta ni elimina ni modifica ningún archivo existente ni crea ningún archivo nuevo.
`--allow-gui` | Permitir recursos que puedan necesitar una interfaz de usuario interactiva. En el modo normal de operación, solo se utilizan recursos que nunca empleen una interfaz de usuario (como calendarios basados en archivo).
Tipos de incidencias (estas opciones se pueden combinar):
`--event` | Operar solo para eventos (predeterminado).
`--todo` | Operar solo para tareas pendientes. (No implementado)
`--journal` | Operar solo para diarios. (No implementado)
Principales modos de operación:
`--view` | Muestra los eventos del calendario en el formato de exportación indicado.
`--add` | Inserta un evento en el calendario.
`--change` | Modifica un evento en un calendario existente.
`--delete` | Elimina un evento de un calendario existente.
`--create` `nombre-de-archivo` | Crear un nuevo calendario desde un archivo que ya existe.
`--import` `archivo-importación` | Importa este calendario en el calendario principal.
`--list-calendars` | Listar calendarios disponibles.
Modificadores de la operación:
`--all` | Muestra todas las entradas del calendario.
`--next` | Ve la siguiente actividad del calendario.
`--show-next` `días` | Comenzando en la fecha especificada, muestra las actividades en los siguientes # días.
`--uid` `UID` | Visualiza, elimina o cambia el evento con esta cadena de identificación única.
`--date` `fecha` | Comienzo en este día [AAAA-MM-DD]. La fecha predeterminada es hoy
`--time` `hora` | Comienzo a esta hora [HH:MM]. La hora predeterminada para la vista son las 07:00. Para añadir o cambiar un evento flotante, use las opciones `--time float` o `--end-time float`.
`--end-date` `fecha-fin` | Fin en este día [AAAA-MM-DD]. Por omisión se establece con `--date`.
`--end-time` `hora-fin` | Fin a esta hora [HH:MM]. La hora predeterminada de finalización para las vistas son las 17:00. Para añadir o cambiar un evento flotante, use las opciones `--time float` o `--end-time float`.
`--epoch-start` `hora-epoch` | Comienzo a esta hora [segundos desde epoch].
`--epoch-end` `hora-epoch` | Fin a esta hora [segundos desde epoch].
`--summary` `resumen` | Añade un resumen al evento (funciona con añadir y cambiar).
`--description` `descripción` | Añade una descripción al evento (funciona con añadir y cambiar).
`--location` `ubicación` | Añade una ubicación al evento (funciona con añadir y cambiar).
`--calendar` `id` | Especificar un calendario que usar. Si no se indica, se usa su recurso de &korganizer; predeterminado.
Opciones de exportación:
`--export-type` `tipo-exportación` | Tipo de archivo para exportar. El tipo de exportación predeterminado es «Text» (texto)
`--export-file` `archivo-exportación` | Exporta a un archivo. De forma predeterminada, la salida se escribe en la salida estándar.
`--export-list` | Muestra la lista con los tipos de exportación admitidos y sale.

## Preguntas y respuestas

¿Qué archivos de configuración usa &konsolekalendar;?

Ninguno.

¿Cuál es el nombre de la aplicación &konsolekalendar;?

El nombre de la aplicación &konsolekalendar; es konsolekalendar.

¿Cuál es el formato de especificación de fecha?

&konsolekalendar; rechazará las fechas especificadas en la línea de órdenes, salvo que se especifiquen según los estándares ISO 8601, formalmente: AAAA-MM-DD. Donde AAAA representa un año con 4 dígitos (como 2003), MM representa un mes con dos dígitos (01, 02,..., 12) y DD representa un día con dos dígitos (01, 02,..., 31).

&konsolekalendar; siempre exporta las fechas según el formato ISO 8601.

¿Cuál es el formato de especificación de hora?

&konsolekalendar; rechazará las horas especificadas en la línea de órdenes, salvo que se indiquen según los estándares ISO 8601, formalmente: HH:MM:SS. Donde HH representa una hora con dos dígitos (01, 02, ..., 24), MM representa un minuto con dos dígitos (01, 02,..., 60) y SS representa un segundo con dos dígitos (01, 02,..., 60).

&konsolekalendar; siempre exporta las horas según el formato ISO 8601.

¿Insertará &konsolekalendar; un evento nuevo que sea idéntico a uno que exista ya en el calendario?

No. Vea la siguiente pregunta.

¿Cómo determina &konsolekalendar; si un evento es idéntico a otro que ya exista en el calendario?

&konsolekalendar; comprueba la fecha y hora de comienzo y fin y el resumen con los de todos los eventos del calendario. Si algún evento coincide con los tres valores, se marca como un evento existente.

¿Puede un evento flotante cambiar un evento no flotante?

Sí. Use la opción `--time float` con `--change`.

¿Por qué se imprimen los UID de eventos en la mayoría de formatos de exportación?

Porque necesita especifica el UID para borrar o cambiar los eventos. Si no quiere ver los UID de los eventos, use el tipo de exportación corto (`--export-type short`).

¿Cómo puedo añadir mi pregunta a estas PUF?

Envíe sus preguntas a winter@kde.org.

## Créditos y licencia

&konsolekalendar; Copyright del programa 2002,2007:

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter winter@kde.org

Copyright de la documentación 2003:

- Allen Winter winter@kde.org

- Tuukka Pasanen illuusio@mailcity.com

Traducido por Juan Manuel García Molina juanma@superiodico.net y Javier Viñal fjvinal@gmail.com

&underFDL; &underGPL;
&documentation.index;