python3 all the way

This commit is contained in:
gauthiier 2021-12-08 12:09:34 +01:00
parent 454e42ac8d
commit 5280ad2f5e

View File

@ -4,20 +4,16 @@ import sys, json, re, os, time
from datetime import datetime from datetime import datetime
import dateutil.parser import dateutil.parser
try: # python3
# python2 from urllib.parse import urlparse, urlunparse, urlencode, quote
from urllib2 import urlopen, URLError, HTTPError from urllib.request import urlopen, URLError, HTTPError
from urllib import urlencode
from urlparse import urlparse, urlunparse
except ImportError:
# python3
from urllib.parse import urlparse, urlunparse, urlencode, quote
from urllib.request import urlopen, URLError, HTTPError
from jinja2 import FileSystemLoader, Environment from jinja2 import FileSystemLoader, Environment
from pppadump.commands.common import * from pppadump.commands.common import *
from time import sleep from time import sleep
import dateutil.parser import dateutil.parser
from pathlib import Path
import os
""" """
index: index:
@ -283,17 +279,38 @@ def main (args):
p["text"] = f.read() p["text"] = f.read()
except FileNotFoundError: except FileNotFoundError:
p['text'] = '' p['text'] = ''
# ADD IN LINK TO PAD AS "link" # ADD IN LINK TO PAD AS "link"
for v in linkversions: for v in linkversions:
if v in versions_by_type: if v in versions_by_type:
vdata = versions_by_type[v] vdata = versions_by_type[v]
try: try:
if v == "pad" or os.path.exists(vdata["path"]): if v == "pad":
p["link"] = absurl(vdata["url"], linkbase) p["link"] = absurl(vdata["url"], linkbase)
break break
except KeyError as e: except KeyError as e:
pass pass
# Not sure this goes here but fixing relpaths with output is quite nice...
if args.output:
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...
v["url"] = v["path"]
except Exception as e:
pass
if args.output: if args.output:
with open(args.output, "w") as f: with open(args.output, "w") as f:
print (template.render(vars(args)), file=f) print (template.render(vars(args)), file=f)