Compare commits
4 Commits
integral-p
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
46ca8db12e | ||
|
|
151a45b5a4 | ||
|
|
b669a2104b | ||
|
|
af3f690ce1 |
@ -4,8 +4,9 @@ pppadump
|
||||
|
||||
Bunch of scripts to extract documents from an [etherpad](http://etherpad.org/) instance and produce templated static files.
|
||||
|
||||
Forked from [constant](https://constantvzw.org/site/)'s [active archives](http://activearchives.org/wiki/Main_Page) [etherdump](https://gitlab.constantvzw.org/aa/etherdump) mixed with logic devised for [varia](https://varia.zone)'s [etherpump](https://git.vvvvvvaria.org/varia/etherpump) project
|
||||
Forked from [constant](https://constantvzw.org/site/)'s [active archives](http://activearchives.org/wiki/Main_Page) [etherdump](https://gitlab.constantvzw.org/aa/etherdump) mixed with logic devised for [varia](https://varia.zone)'s [etherpump](https://git.vvvvvvaria.org/varia/etherpump) project.
|
||||
|
||||
It's all about \_\_MAGICWRORDS__ 🪄✨
|
||||
|
||||
|
||||
Requirements / dependencies
|
||||
|
||||
@ -98,6 +98,8 @@ def main (args):
|
||||
|
||||
p.add_argument("--files", default=False, action="store_true", help="include files (experimental)")
|
||||
|
||||
p.add_argument("--filebased", default=False, action="store_true", help="uses (reconstructed) urls instead of file paths")
|
||||
|
||||
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")
|
||||
@ -275,7 +277,7 @@ def main (args):
|
||||
|
||||
if "text" in versions_by_type:
|
||||
try:
|
||||
with open (versions_by_type["text"]["path"]) as f:
|
||||
with open (versions_by_type["text"]["path"], encoding="utf-8") as f:
|
||||
p["text"] = f.read()
|
||||
except FileNotFoundError:
|
||||
p['text'] = ''
|
||||
@ -292,19 +294,25 @@ def main (args):
|
||||
pass
|
||||
|
||||
|
||||
# Not sure this goes here but fixing relpaths with output is quite nice...
|
||||
# Below is somehow a mess since one the one hand I'm trying to keep the file based publiching
|
||||
# ethos while my setup is not really (reverse proxy, etc.)
|
||||
# Fix (1): settings.json has indexurl which stands for the base URL
|
||||
# Fix (2): added argument <p.add_argument("--filebased", default=False, action="store_true", help="uses (reconstructed) urls instead of file paths")>
|
||||
|
||||
if args.output:
|
||||
|
||||
if args.filebased:
|
||||
|
||||
# work with paths
|
||||
|
||||
outpath = Path(args.output).parent
|
||||
for v in p["versions"]:
|
||||
|
||||
if v["type"] != "pad":
|
||||
vpath = Path(v["path"])
|
||||
try:
|
||||
# 2 types (pathlib or os.path)
|
||||
# v["path"] = vpath.parent.relative_to(outpath).joinpath(vpath.name)
|
||||
v["path"] = os.path.join(os.path.relpath(vpath.parent, outpath), vpath.name)
|
||||
|
||||
# path or url??? if it's a file based publishing ethos, it should be path non?
|
||||
# puttting this here since templates are using url...
|
||||
try:
|
||||
v["path"] = os.path.join(os.path.relpath(vpath.parent, outpath), vpath.name)
|
||||
v["url"] = v["path"]
|
||||
except Exception as e:
|
||||
pass
|
||||
@ -316,11 +324,27 @@ def main (args):
|
||||
except Exception as e:
|
||||
pass
|
||||
|
||||
else:
|
||||
|
||||
# work with URLs
|
||||
|
||||
indexurl = info["indexurl"]
|
||||
outpath = Path(args.output).parent
|
||||
|
||||
for v in p["versions"]:
|
||||
|
||||
if v["type"] != "pad":
|
||||
|
||||
vpath = Path(v["url"])
|
||||
|
||||
# strip output dir....
|
||||
relpath = Path(*vpath.parts[1:])
|
||||
|
||||
v["url"] = os.path.join(indexurl, relpath.as_posix())
|
||||
|
||||
|
||||
if args.output:
|
||||
with open(args.output, "w") as f:
|
||||
with open(args.output, "w", encoding="utf-8") as f:
|
||||
print (template.render(vars(args)), file=f)
|
||||
else:
|
||||
print (template.render(vars(args)))
|
||||
|
||||
@ -73,6 +73,7 @@ def main(args):
|
||||
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="")
|
||||
p.add_argument("--indexurl", default=None, help="")
|
||||
p.add_argument("--apikey", default=None, help="")
|
||||
p.add_argument("--verbose", default=False, action="store_true", help="")
|
||||
p.add_argument("--reinit", default=False, action="store_true", help="")
|
||||
@ -114,6 +115,15 @@ def main(args):
|
||||
break
|
||||
apiurl = input("Please type the URL of the etherpad: ").strip()
|
||||
padinfo["apiurl"] = apiurl
|
||||
|
||||
|
||||
indexurl = args.indexurl
|
||||
while True:
|
||||
if indexurl:
|
||||
break
|
||||
indexurl = input("Please type the URL of the index to be generated (i.e. should differ from padurl): ").strip()
|
||||
padinfo["indexurl"] = indexurl
|
||||
|
||||
apikey = args.apikey
|
||||
while True:
|
||||
if apikey:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user