renaming etherdump -> pppadump
This commit is contained in:
parent
a1c696a538
commit
aa246254f4
2
.gitignore
vendored
2
.gitignore
vendored
@ -4,4 +4,4 @@ build/
|
||||
venv/
|
||||
testing/
|
||||
padinfo.json
|
||||
.etherdump
|
||||
.pppadump
|
||||
|
||||
48
README.md
48
README.md
@ -1,4 +1,4 @@
|
||||
etherdump
|
||||
pppadump
|
||||
=========
|
||||
|
||||
Tool to help manage periodic publishing of [etherpads](http://etherpad.org/) to static files, preserving metadata.
|
||||
@ -21,7 +21,7 @@ Usage
|
||||
---------------
|
||||
mkdir mydump
|
||||
cd myddump
|
||||
etherdump init
|
||||
pppadump init
|
||||
|
||||
The program then interactively asks some questions:
|
||||
|
||||
@ -31,10 +31,10 @@ The program then interactively asks some questions:
|
||||
Please paste the APIKEY:
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
The settings are placed in a file called .etherdump/settings.json and are used (by default) by future commands.
|
||||
The settings are placed in a file called .pppadump/settings.json and are used (by default) by future commands.
|
||||
|
||||
|
||||
etherdump list
|
||||
pppadump list
|
||||
|
||||
You should see a list of pads.
|
||||
|
||||
@ -58,23 +58,23 @@ subcommands
|
||||
|
||||
To get help on a subcommand:
|
||||
|
||||
etherdump revisionscount --help
|
||||
pppadump revisionscount --help
|
||||
|
||||
|
||||
Cookbook
|
||||
========================
|
||||
|
||||
Using etherdump to migrate from one etherpad instance to another
|
||||
Using pppadump to migrate from one etherpad instance to another
|
||||
------------------------------------------------------------------
|
||||
|
||||
mkdir instance1 && cd instance1
|
||||
etherdump init
|
||||
etherdump pull --html --meta
|
||||
pppadump init
|
||||
pppadump pull --html --meta
|
||||
|
||||
(cd ..)
|
||||
mkdir instance2 && cd instance2
|
||||
etherdump init
|
||||
etherdump pushhtml --basepath ../instance1 ../instance1/p/*.meta.json
|
||||
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.
|
||||
|
||||
@ -88,34 +88,6 @@ Magicwords
|
||||
Following the suggestions of sister project/friendly fork [etherpump](https://git.vvvvvvaria.org/varia/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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Change log / notes
|
||||
=======================
|
||||
|
||||
Originally designed for use at: [constant](http://etherdump.constantvzw.org/).
|
||||
|
||||
|
||||
17 Oct 2016
|
||||
-----------------------------------------------
|
||||
Preparations for [Machine Research](https://machineresearch.wordpress.com/) [2](http://constantvzw.org/site/Machine-Research,2646.html)
|
||||
|
||||
|
||||
6 Oct 2017
|
||||
----------------------
|
||||
Feature request from PW: When deleting a previously public document, generate a page / pages with an explanation (along the lines of "This document was previously public but has been marked .... maybe give links to search").
|
||||
|
||||
3 Nov 2017
|
||||
---------------
|
||||
machineresearch seems to be __NOPUBLISH__ but still exists (also in recentchanges)
|
||||
|
||||
Jan 2018
|
||||
-------------
|
||||
Updated files to work with python3 (probably this has broken python2).
|
||||
|
||||
Jun 2019
|
||||
-------------
|
||||
Revised sethtml & added pushhtml
|
||||
|
||||
@ -4,7 +4,7 @@ from __future__ import print_function
|
||||
import sys
|
||||
|
||||
usage = """Usage:
|
||||
etherdump CMD
|
||||
pppadump CMD
|
||||
|
||||
where CMD could be:
|
||||
appendmeta
|
||||
@ -28,7 +28,7 @@ where CMD could be:
|
||||
status
|
||||
|
||||
For more information on each command try:
|
||||
etherdump CMD --help
|
||||
pppadump CMD --help
|
||||
|
||||
"""
|
||||
|
||||
@ -44,7 +44,7 @@ except IndexError:
|
||||
sys.exit(0)
|
||||
try:
|
||||
# http://stackoverflow.com/questions/301134/dynamic-module-import-in-python
|
||||
cmdmod = __import__("etherdump.commands.%s" % cmd, fromlist=["etherdump.commands"])
|
||||
cmdmod = __import__("pppadump.commands.%s" % cmd, fromlist=["pppadump.commands"])
|
||||
cmdmod.main(args)
|
||||
except ImportError as e:
|
||||
print ("Error performing command '{0}'\n(python said: {1})\n".format(cmd, e))
|
||||
@ -8,7 +8,7 @@ from urllib2 import urlopen, HTTPError, URLError
|
||||
def main(args):
|
||||
p = ArgumentParser("calls the createDiffHTML API function for the given padid")
|
||||
p.add_argument("padid", help="the padid")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
p.add_argument("--format", default="text", help="output format, can be: text, json; default: text")
|
||||
p.add_argument("--rev", type=int, default=None, help="revision, default: latest")
|
||||
@ -8,7 +8,7 @@ from urllib.request import urlopen, HTTPError, URLError
|
||||
def main(args):
|
||||
p = ArgumentParser("calls the getText API function for the given padid")
|
||||
p.add_argument("padid", help="the padid")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
p.add_argument("--format", default="text", help="output format, can be: text, json; default: text")
|
||||
args = p.parse_args(args)
|
||||
@ -30,7 +30,7 @@ def jsonload (url):
|
||||
|
||||
def main (args):
|
||||
p = ArgumentParser("outputs a CSV of information all all pads")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--zerorevs", default=False, action="store_true", help="include pads with zero revisions, default: False")
|
||||
args = p.parse_args(args)
|
||||
|
||||
@ -12,7 +12,7 @@ from urllib.error import HTTPError, URLError
|
||||
def main(args):
|
||||
p = ArgumentParser("calls the getHTML API function for the given padid")
|
||||
p.add_argument("padid", help="the padid")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
p.add_argument("--format", default="text", help="output format, can be: text, json; default: text")
|
||||
p.add_argument("--rev", type=int, default=None, help="revision, default: latest")
|
||||
@ -14,7 +14,7 @@ except ImportError:
|
||||
def main(args):
|
||||
p = ArgumentParser("calls the getText API function for the given padid")
|
||||
p.add_argument("padid", help="the padid")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
p.add_argument("--format", default="text", help="output format, can be: text, json; default: text")
|
||||
p.add_argument("--rev", type=int, default=None, help="revision, default: latest")
|
||||
@ -15,13 +15,13 @@ except ImportError:
|
||||
from urllib.request import urlopen, URLError, HTTPError
|
||||
|
||||
from jinja2 import FileSystemLoader, Environment
|
||||
from etherdump.commands.common import *
|
||||
from pppadump.commands.common import *
|
||||
from time import sleep
|
||||
import dateutil.parser
|
||||
|
||||
"""
|
||||
index:
|
||||
Generate pages from etherdumps using a template.
|
||||
Generate pages from pppadumps using a template.
|
||||
|
||||
Built-in templates: rss.xml, index.html
|
||||
|
||||
@ -87,7 +87,7 @@ def main (args):
|
||||
|
||||
p.add_argument("--templatepath", default=None, help="path to find templates, default: built-in")
|
||||
p.add_argument("--template", default="index.html", help="template name, built-ins include index.html, rss.xml; default: index.html")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: ./.etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: ./.pppadump/settings.json")
|
||||
# p.add_argument("--zerorevs", default=False, action="store_true", help="include pads with zero revisions, default: False (i.e. pads with no revisions are skipped)")
|
||||
|
||||
p.add_argument("--order", default="padid", help="order, possible values: padid, pad (no group name), lastedited, (number of) authors, revisions, default: padid")
|
||||
@ -105,12 +105,12 @@ def main (args):
|
||||
pg = p.add_argument_group('template variables')
|
||||
pg.add_argument("--feedurl", default="feed.xml", help="rss: to use as feeds own (self) link, default: feed.xml")
|
||||
pg.add_argument("--siteurl", default=None, help="rss: to use as channel's site link, default: the etherpad url")
|
||||
pg.add_argument("--title", default="etherdump", help="title for document or rss feed channel title, default: etherdump")
|
||||
pg.add_argument("--title", default="pppadump", help="title for document or rss feed channel title, default: pppadump")
|
||||
pg.add_argument("--description", default="", help="rss: channel description, default: empty")
|
||||
pg.add_argument("--language", default="en-US", help="rss: feed language, default: en-US")
|
||||
pg.add_argument("--updatePeriod", default="daily", help="rss: updatePeriod, possible values: hourly, daily, weekly, monthly, yearly; default: daily")
|
||||
pg.add_argument("--updateFrequency", default=1, type=int, help="rss: update frequency within the update period (where 2 would mean twice per period); default: 1")
|
||||
pg.add_argument("--generator", default="https://gitlab.com/activearchives/etherdump", help="generator, default: https://gitlab.com/activearchives/etherdump")
|
||||
pg.add_argument("--generator", default="https://gitlab.com/activearchives/pppadump", help="generator, default: https://gitlab.com/activearchives/pppadump")
|
||||
pg.add_argument("--timestamp", default=None, help="timestamp, default: now (e.g. 2015-12-01 12:30:00)")
|
||||
pg.add_argument("--next", default=None, help="next link, default: None)")
|
||||
pg.add_argument("--prev", default=None, help="prev link, default: None")
|
||||
@ -69,7 +69,7 @@ def tryapiurl (url, verbose=False):
|
||||
print ("URLError", e, file=sys.stderr)
|
||||
|
||||
def main(args):
|
||||
p = ArgumentParser("initialize an etherdump folder")
|
||||
p = ArgumentParser("initialize an pppadump folder")
|
||||
p.add_argument("arg", nargs="*", default=[], help="optional positional args: path etherpadurl")
|
||||
p.add_argument("--path", default=None, help="path to initialize")
|
||||
p.add_argument("--padurl", default=None, help="")
|
||||
@ -85,7 +85,7 @@ def main(args):
|
||||
if not path:
|
||||
path = "."
|
||||
|
||||
edpath = os.path.join(path, ".etherdump")
|
||||
edpath = os.path.join(path, ".pppadump")
|
||||
try:
|
||||
os.makedirs(edpath)
|
||||
except OSError:
|
||||
@ -2,7 +2,7 @@ from __future__ import print_function
|
||||
from argparse import ArgumentParser
|
||||
import json
|
||||
import sys
|
||||
from etherdump.commands.common import getjson
|
||||
from pppadump.commands.common import getjson
|
||||
try:
|
||||
# python2
|
||||
from urlparse import urlparse, urlunparse
|
||||
@ -16,7 +16,7 @@ except ImportError:
|
||||
|
||||
def main (args):
|
||||
p = ArgumentParser("call listAllPads and print the results")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
p.add_argument("--format", default="lines", help="output format: lines, json; default lines")
|
||||
args = p.parse_args(args)
|
||||
@ -8,7 +8,7 @@ from urllib2 import urlopen, HTTPError, URLError
|
||||
def main(args):
|
||||
p = ArgumentParser("call listAuthorsOfPad for the padid")
|
||||
p.add_argument("padid", help="the padid")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
p.add_argument("--format", default="lines", help="output format, can be: lines, json; default: lines")
|
||||
args = p.parse_args(args)
|
||||
@ -5,9 +5,9 @@ from datetime import datetime
|
||||
from urllib.parse import urlencode, quote
|
||||
from urllib.request import urlopen, URLError, HTTPError
|
||||
|
||||
from etherdump.commands.common import *
|
||||
from pppadump.commands.common import *
|
||||
from time import sleep
|
||||
from etherdump.commands.html5tidy import html5tidy
|
||||
from pppadump.commands.html5tidy import html5tidy
|
||||
import html5lib
|
||||
from xml.etree import ElementTree as ET
|
||||
from fnmatch import fnmatch
|
||||
@ -40,7 +40,7 @@ def main (args):
|
||||
p.add_argument("padid", nargs="*", default=[])
|
||||
p.add_argument("--glob", default=False, help="download pads matching a glob pattern")
|
||||
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--zerorevs", default=False, action="store_true", help="include pads with zero revisions, default: False (i.e. pads with no revisions are skipped)")
|
||||
p.add_argument("--pub", default="p", help="folder to store files for public pads, default: p")
|
||||
p.add_argument("--group", default="g", help="folder to store files for group pads, default: g")
|
||||
@ -65,7 +65,7 @@ def main (args):
|
||||
|
||||
args = p.parse_args(args)
|
||||
|
||||
print ("etherdump version {}".format(VERSION), file=sys.stderr)
|
||||
print ("pppadump version {}".format(VERSION), file=sys.stderr)
|
||||
|
||||
raw_ext = ".raw.txt"
|
||||
if args.no_raw_ext:
|
||||
@ -1,4 +1,4 @@
|
||||
from etherdump.commands.sethtml import sethtml, pushhtml
|
||||
from pppadump.commands.sethtml import sethtml, pushhtml
|
||||
import argparse
|
||||
import os, sys
|
||||
import json
|
||||
@ -7,7 +7,7 @@ import json
|
||||
def main(args):
|
||||
p = argparse.ArgumentParser("""Indiscriminantly PUSH the contents of dumped html files to an etherpad, clobbering any existing content!""")
|
||||
p.add_argument("input", nargs="+", help="Metadata files, e.g. *.meta.json")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--basepath", default=".")
|
||||
args = p.parse_args(args)
|
||||
|
||||
@ -7,7 +7,7 @@ from urllib2 import urlopen, HTTPError, URLError
|
||||
def main(args):
|
||||
p = ArgumentParser("call getRevisionsCount for the given padid")
|
||||
p.add_argument("padid", help="the padid")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
args = p.parse_args(args)
|
||||
|
||||
@ -47,7 +47,7 @@ def main(args):
|
||||
p = argparse.ArgumentParser("calls the setHTML API function for the given padid")
|
||||
p.add_argument("padid", help="the padid")
|
||||
p.add_argument("--html", default=None, help="html, default: read from stdin")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
# p.add_argument("--format", default="text", help="output format, can be: text, json; default: text")
|
||||
p.add_argument("--create", default=False, action="store_true", help="flag to create pad if necessary")
|
||||
@ -20,7 +20,7 @@ def main(args):
|
||||
p = ArgumentParser("calls the getText API function for the given padid")
|
||||
p.add_argument("padid", help="the padid")
|
||||
p.add_argument("--text", default=None, help="text, default: read from stdin")
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--showurl", default=False, action="store_true")
|
||||
# p.add_argument("--format", default="text", help="output format, can be: text, json; default: text")
|
||||
p.add_argument("--create", default=False, action="store_true", help="flag to create pad if necessary")
|
||||
@ -61,7 +61,7 @@ def ignore_p (path, settings=None):
|
||||
def main (args):
|
||||
p = ArgumentParser("Check for pads that have changed since last sync (according to .meta.json)")
|
||||
# p.add_argument("padid", nargs="*", default=[])
|
||||
p.add_argument("--padinfo", default=".etherdump/settings.json", help="settings, default: .etherdump/settings.json")
|
||||
p.add_argument("--padinfo", default=".pppadump/settings.json", help="settings, default: .pppadump/settings.json")
|
||||
p.add_argument("--zerorevs", default=False, action="store_true", help="include pads with zero revisions, default: False (i.e. pads with no revisions are skipped)")
|
||||
p.add_argument("--pub", default=".", help="folder to store files for public pads, default: pub")
|
||||
p.add_argument("--group", default="g", help="folder to store files for group pads, default: g")
|
||||
@ -10,7 +10,7 @@
|
||||
<body>
|
||||
{{ html }}
|
||||
|
||||
<div class="etherdump_version_links">
|
||||
<div class="pppadump_version_links">
|
||||
Pad last edited {{lastedited}}; other versions: <a href="{{raw_url}}">text-only</a> <a href="{{meta_url}}">metadata</a>
|
||||
</div>
|
||||
</body>
|
||||
14
setup.py
14
setup.py
@ -18,18 +18,18 @@ def find (p, d):
|
||||
return ret
|
||||
|
||||
setuptools.setup(
|
||||
name='etherdump',
|
||||
name='pppadump',
|
||||
version='0.3.0',
|
||||
author='Active Archives Contributors',
|
||||
author_email='mm@automatist.org',
|
||||
packages=['etherdump', 'etherdump.commands'],
|
||||
package_dir={'etherdump': 'etherdump'},
|
||||
packages=['pppadump', 'pppadump.commands'],
|
||||
package_dir={'pppadump': 'pppadump'},
|
||||
#package_data={'activearchives': find("activearchives", "templates/") + find("activearchives", "data/")},
|
||||
package_data={'etherdump': find("etherdump", "data/")},
|
||||
scripts=['bin/etherdump'],
|
||||
url='http://activearchives.org/wiki/Etherdump',
|
||||
package_data={'pppadump': find("pppadump", "data/")},
|
||||
scripts=['bin/pppadump'],
|
||||
url='http://activearchives.org/wiki/pppadump',
|
||||
license='LICENSE.txt',
|
||||
description='Etherdump an etherpad publishing & archiving system',
|
||||
description='pppadump an etherpad publishing & archiving system',
|
||||
# long_description=open('README.md').read(),
|
||||
install_requires=[
|
||||
"html5lib", "jinja2", "python-dateutil", "requests"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user