pppadump/README.md
2021-12-06 17:34:16 +01:00

2.3 KiB

pppadump

Tool to help manage periodic publishing of etherpads to static files, preserving metadata.

Requirements

* python3
* html5lib
* requests (settext)
* python-dateutil, jinja2 (index subcommand)

Installation

pip install python-dateutil jinja2 html5lib
python setup.py install

Usage

mkdir mydump
cd myddump
pppadump init

The program then interactively asks some questions:

Please type the URL of the etherpad: 
	http://automatist.local:9001/
The APIKEY is the contents of the file APIKEY.txt in the etherpad folder
Please paste the APIKEY: 
	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

The settings are placed in a file called .pppadump/settings.json and are used (by default) by future commands.

pppadump list

You should see a list of pads.

subcommands

  • init

  • pull

  • list

  • listauthors

  • gettext

  • settext

  • gethtml

  • creatediffhtml

  • revisionscount

  • index

  • deletepad

  • pushhtml

To get help on a subcommand:

pppadump revisionscount --help

Cookbook

Using pppadump to migrate from one etherpad instance to another

mkdir instance1 && cd instance1
pppadump init
pppadump pull --html --meta

(cd ..)
mkdir instance2 && cd instance2
pppadump init
pppadump pushhtml --basepath ../instance1 ../instance1/p/*.meta.json

NB: sethtml/pushhtml seems to only work on the server itself, ie using API url such as localhost:9001.

NB: This command indescriminantly clobbers pads in instance2 with the HTML of the dumped versions from instance1.

This technique can be used to "reset" the database of a pad by recreating pads (without their history or editor info/colors) in a fresh database.

Magicwords

Following the suggestions of sister project/friendly fork etherpump, the magic word mechanism has been expanded (from the inital single hard coded __NOPUBLISH__ value) to and generalized to allow a the use of text markers in the source text to control various options, including options for use in preprocessing and translation of markdown using pandoc.

Originally designed for use at: constant.