- kinto2xml: Export the blocklist in the legacy XML format
- blockpages-generator: Generate the blocklist documentation pages.
To install the release:
pip install amo2kinto
To install the development environment:
make install
In order to build amo2kinto
dependencies you may need the following libraries:
- Building lxml will require:
libxml2-dev libxslt-dev python-dev
Otherwise you will run into errors like:
libxml/xmlversion.h: File not found
If you want to export blocklists stored in Kinto in the addons server XML export
format, you can use the kinto2xml
script:
kinto2xml -s http://localhost:8888/v1
kinto2xml gives you the ability to configure what you want to export and in which bucket and collection are the data stored.
usage: kinto2xml [-h] [-s SERVER] [-a AUTH] [-v] [-q] [-D] [--certificates-bucket CERTIFICATES_BUCKET] [--certificates-collection CERTIFICATES_COLLECTION] [--gfx-bucket GFX_BUCKET] [--gfx-collection GFX_COLLECTION] [--addons-bucket ADDONS_BUCKET] [--addons-collection ADDONS_COLLECTION] [--plugins-bucket PLUGINS_BUCKET] [--plugins-collection PLUGINS_COLLECTION] [--api-version API_VERSION] [--app APP] [--app-version APP_VERSION] [-o OUT] Build a blocklists.xml file from Kinto blocklists. optional arguments: -h, --help show this help message and exit -s SERVER, --server SERVER The location of the remote server (with prefix) -a AUTH, --auth AUTH BasicAuth token:my-secret -v, --verbose Show all messages. -q, --quiet Show only critical errors. -D, --debug Show all messages, including debug messages. --certificates-bucket CERTIFICATES_BUCKET Bucket name for certificates --certificates-collection CERTIFICATES_COLLECTION Collection name for certificates --gfx-bucket GFX_BUCKET Bucket name for gfx --gfx-collection GFX_COLLECTION Collection name for gfx --addons-bucket ADDONS_BUCKET Bucket name for addons --addons-collection ADDONS_COLLECTION Collection name for addon --plugins-bucket PLUGINS_BUCKET Bucket name for plugins --plugins-collection PLUGINS_COLLECTION Collection name for plugin --api-version API_VERSION Targeted blocklists.xml APP id --app APP Targeted blocklists.xml APP id --app-version APP_VERSION The targetted app version -o OUT, --out OUT Output XML file.
You might want to export the human readable list and description of add-ons and plugins that were blocked.
You can do that using the blockpages-generator
cli tool:
usage: blockpages-generator [-h] [-s SERVER] [-a AUTH] [-b BUCKET] [-v] [-q] [-D] [--addons-collection ADDONS_COLLECTION] [--plugins-collection PLUGINS_COLLECTION] [-d TARGET_DIR] Generate blocked item description files. optional arguments: -h, --help show this help message and exit -s SERVER, --server SERVER The location of the remote server (with prefix) -a AUTH, --auth AUTH BasicAuth token:my-secret -b BUCKET, --bucket BUCKET Bucket name. -v, --verbose Show all messages. -q, --quiet Show only critical errors. -D, --debug Show all messages, including debug messages. --addons-collection ADDONS_COLLECTION Collection name for addon --plugins-collection PLUGINS_COLLECTION Collection name for plugin -d TARGET_DIR, --target-dir TARGET_DIR Destination directory to write files in.
It will generate an index.html
file with the list of records
present in the addons
and plugins
collections in the
target-dir
directory.
It will also generate a file per add-on
and plugin
using the
blockID
or the id
. e.g i487.html
or
08db5018-2c80-4c4d-aa98-dafe6aacc28c.html