<chapter id="advanced">
<title
>Uso avanzado</title>

<sect1 id="command-line">
<title
>Opciones de la línea de órdenes</title>

<para
>Cuando ejecute &appname; desde la línea de órdenes, dispondrá de muchas opciones para abrir archivos de datos. Puede consultarlas ejecutando <userinput
>tellico --help</userinput
>. También puede activar el registro de diagnóstico, con el que dispondrá de una <link linkend="settings-help-menu"
>entrada del menú</link
> para mostrar el registro de diagnóstico. La opción <userinput
>--logfile</userinput
> redirige el registro a un archivo. </para>

<programlisting
>Uso: tellico [opciones] [archivo]

Tellico - software de gestión de colecciones, libre y sencillo

Opciones:
  --nofile                  No reabrir el último archivo abierto
  --bibtex                  Importar &lt;archivo&gt; como archivo bibtex
  --mods                    Importar &lt;archivo&gt; como archivo MODS
  --ris                     Importar &lt;archivo&gt; como archivo RIS
  --pdf                     Importar &lt;archivo&gt; como archivo PDF
  --log                     Salida de diagnóstico del registro
  --logfile &lt;archivo&gt;       Escribir salida de registro en &lt;archivo&gt;

Argumentos:
  [archivo]                  Archivo a abrir
</programlisting>

</sect1>

<sect1 id="dbus-interface">
<title
>Interfaz &DBus;</title>

<para
>&appname; dispone de una interfaz &DBus; mínima que puede ser útil para scriptar o interactuar con una aplicación en ejecución desde la línea de órdenes. Como en todas las llamadas &DBus;, debe especificar el servicio con el que quiere comunicarse, y la interfaz particular. El nombre del servicio &DBus; es <constant
>org.kde.tellico</constant
>. </para>

<sect2 id="dbus-commands">
<title
>Órdenes &DBus;</title>

<para
>Los dos objetos primarios &DBus; están disponibles en la interfaz de tellico: <constant
>Tellico</constant
> y <constant
>Collecciones</constant
>.</para>

<sect3 id="dbus-tellico">
<title
>El objeto <constant
>Tellico</constant
></title>

<para
>A continuación se muestra la lista completa de órdenes &DBus; del objeto <constant
>tellico</constant
>:</para>

<programlisting
>bool importTellico(QString archivo, QString acción)
bool importBibtex(QString archivo, QString acción)
bool importMODS(QString archivo, QString acción)
bool importPDF(QString archivo, QString acción)
bool importRIS(QString archivo, QString acción)
bool exportXML(QString archivo, bool filtrado)
bool exportZip(QString archivo, bool filtrado)
bool exportBibtex(QString archivo, bool filtrado)
bool exportHTML(QString archivo, bool filtrado)
bool exportCSV(QString archivo, bool filtrado)
QList&lt;int&gt; selectedEntries()
QList&lt;int&gt; filteredEntries()
void openFile(QString archivo)
void setFilter(QString texto)
bool showEntry(int id)
</programlisting>

<para
>Para las cuatro órdenes de importación, el primer argumento es el archivo que se va a importar y el segundo la acción de importación. Dispone de tres acciones: <emphasis
>sustituir</emphasis
>, <emphasis
>añadir</emphasis
> y <emphasis
>fusionar</emphasis
>. Existen cuatro formatos de archivo de los que se puede importar: archivos &XML; de Tellico, archivos Bibtex, archivos MODS y archivos RIS. También puede importar metadatos de archivos <link linkend="importing-pdf"
>&PDF;</link
>. </para>

<para
>Para cualquiera de las órdenes que exportan texto, un archivo con el nombre <filename
>--</filename
> redirigirá el contenido a la salida estándar. </para>

<para
>La colección actualmente abierta en &appname; se puede exportar a un archivo, ya sea en formato &XML; de Tellico, en formato ZIP de Tellico, Bibtex, &HTML; o en valores separados por comas (CSV). Las órdenes de exportación tienen un argumento adicional para indicar si la colección se debe limitar al filtro actual o no. </para>

<para
>Una lista de las ID de la entrada actualmente seleccionada o filtrada puede facilitar mostrar o actualizar las entradas en la vista.</para>

<para
>Puede abrir un nuevo archivo de datos mediante la orden <command
>openFile()</command
>. Debe especificar la ruta completa.</para>

<para
>Puede establecer un nuevo filtro mediante la orden <command
>setFilter()</command
>, que equivale a escribir en la caja de filtro de la ventana principal.</para>

<para
>Dado el ID de una entrada, <command
>showEntry()</command
> la seleccionará y mostrará sus detalles en la ventana principal.</para>
</sect3>

<sect3 id="dbus-collection">
<title
>El objeto <constant
>Colecciones</constant
></title>

<para
>La lista completa de órdenes de &DBus; en el objeto <constant
>Collecciones</constant
> se muestra debajo:</para>

<programlisting
>int addEntry()
bool removeEntry(int entryID)
QStringList allValues(QString fieldName)
QStringList entryValues(int entryID, QString fieldName)
QStringList selectedBibtexKeys()
QString entryBibtexKey(int entryID)
bool setEntryValue(int entryID, QString fieldName, QString value)
bool addEntryValue(int entryID, QString fieldName, QString value)
</programlisting>

<para
>Una nueva entrada vacía puede ser creada en la colección actual usando la orden <command
>addEntry()</command
>. El valor devuelto es la ID de la entrada, que puede entonces ser usada para establecer los valores del campo en la entrada. Una entrada puede ser eliminada de la colección ejecutando la orden <command
>removeEntry()</command
>. </para>

<para
>Ejecutar <command
>allValues()</command
> usando un nombre de campo devolverá todos los valores para ese campo para las entradas seleccionadas actualmente. Si no hay seleccionada ninguna entrada, la lista devuelta estará vacía. Si la ID de la entrada se incluye en la orden, se devolverán los valores de los campos para esa entrada específica. </para>

<para
>Si la colección actual es una bibliografía, ejecutar <command
>selectedBibtexKeys()</command
> devolverá la clave de cita de Bibtex para todas las entradas seleccionadas. La bibtexKey para una entrada específica se puede encontrar utilizando la orden <command
>entryBibtexKey()</command
>. </para>

<para
>Las entradas se pueden editar directamente con la interfaz de &DBus;. Dada una ID de entrada, <command
>setEntryValue()</command
> establecerá el valor del campo directamente. Para añadir un valor sin afectar a los ya existentes, use <command
>addEntryValue()</command
>. El nuevo vaor aparece añadido al final de la lista existente. </para>
</sect3>

</sect2>

<sect2 id="dbus-examples">
<title
>Ejemplos de &DBus;</title>

<para
>Estos son algunos ejemplos de guiones de &appname; que usan la interfaz &DBus;. Tenga en cuenta que la orden <command
>qdbus</command
> puede existir con el nombre <command
>qdbus-qt5</command
> u otro similar en su sistema. </para>

<screen width="40"
><emphasis
>Abrir un archivo Bibtex</emphasis>
<prompt
>%</prompt
> <userinput
>qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"</userinput>
<computeroutput
>true</computeroutput
>
</screen>

<screen width="40"
><emphasis
>Exportar un archivo Bibtex</emphasis>
<prompt
>%</prompt
> <userinput
>qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib</userinput>
<computeroutput
>true</computeroutput
>
</screen>

<screen width="40"
><emphasis
>Exportar un archivo Bibtex usando el filtro actual</emphasis>
<prompt
>%</prompt
> <userinput
>qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib true</userinput>
<computeroutput
>true</computeroutput
>
</screen>

<screen width="40"
><emphasis
>Mostrar la clave de cita de la selección actual</emphasis>
<prompt
>%</prompt
> <userinput
>qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys</userinput>
<computeroutput
>stephenson2004</computeroutput
>
</screen>

<screen width="40"
><emphasis
>Añadir una nueva entrada y establecer el título</emphasis>
<prompt
>%</prompt
> <userinput
>myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`</userinput>
<prompt
>%</prompt
> <userinput
>qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "My New Book"</userinput>
<computeroutput
>true</computeroutput
>
</screen>

</sect2>

</sect1>

</chapter>
