From 4a38a4839890b6cb45ccaee63829b815383c6f20 Mon Sep 17 00:00:00 2001 From: Elena ``of Valhalla'' Grandi Date: Sun, 22 Sep 2019 17:37:30 +0200 Subject: Documentation for the export subcommand --- docs/moving_data_between_collections.rst | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/moving_data_between_collections.rst diff --git a/docs/moving_data_between_collections.rst b/docs/moving_data_between_collections.rst new file mode 100644 index 0000000..170b391 --- /dev/null +++ b/docs/moving_data_between_collections.rst @@ -0,0 +1,40 @@ +Moving Data between Collections +=============================== + +Entries can be exported from a lesana collection to another using the +``lesana export`` command and a jinja2 template. + +The template should generate a yaml file that is a valid lesana entry +for the destination collection and it can use the fields of the starting +collection as variables. The variable ``entry`` is also available and +gives complete access to the entry of the original collection, so fields +with names that aren't valid jinja templates can be accessed as +``entry.data[]``. + +E.g. to convert between a collection with fields ``name``, +``short-desc``, ``desc`` to a collection with fields ``name``, +``description`` one could use the following template:: + + name: {{ name }} + description: | + {{ entry.data.[short-desc] }} + + {{ desc | indent(width=4, first=False) }} + +From the origin collection you can then run the command:: + + lesana export + +to export all entries. + +You can also export just a subset of entries by adding a xapian query +with the parameter ``--query``; you can test the search using:: + + lesana search --all + +and then actually run the export with:: + + lesana search --query ''