aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2021-02-14 17:07:40 +0000
committerRob Austein <sra@hactrn.net>2021-02-14 17:07:40 +0000
commit89110a41886e7f388a348a561ae78b5088b3669f (patch)
tree6d5a2f31dc08cf9aec2698f2ed369897726bd98c
parentd5e78504b3eb707008a07b28f886adfabeba5680 (diff)
Hard-link image tree
-rw-r--r--.gitignore1
-rwxr-xr-xextract.py8
2 files changed, 7 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index 38cf45b..3d9d661 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ __pycache__
attachments
trac.db
pelican/pelicanconf.py
+pelican/images
diff --git a/extract.py b/extract.py
index 9f53f38..ffd183b 100755
--- a/extract.py
+++ b/extract.py
@@ -50,7 +50,7 @@ def attachment_link(row):
fn2 = os.path.splitext(row["filename"])[1]
return \
os.path.join("attachments", "wiki", h1[:3], h1, h2 + fn2), \
- os.path.join(urllib.parse.quote(row.id, ""), urllib.parse.quote(row.filename, ""))
+ os.path.join("pelican", "images", urllib.parse.quote(row.id, ""), urllib.parse.quote(row.filename, ""))
class Filter:
@@ -97,7 +97,11 @@ def main():
f.write(md)
for row in db.execute(attachment_query):
- print("{} => {}".format(*attachment_link(row)))
+ src, dst = attachment_link(row)
+ print("{} => {}".format(dst, src))
+ if not os.path.isdir(os.path.dirname(dst)):
+ os.makedirs(os.path.dirname(dst))
+ os.link(src, dst)
db.close()