==================
== Hiro's Stuff ==
==================
Valentin Boettcher's Site

Neuseeland Restauration

Posted on in Uncategorized • 184 words • 1 minute read

TL;DR Die Neuseeland-Blogposts sind nun wieder da und korrekt datiert.

Zwar lagen mir die Neuseeland-Blog posts als markdown quelle vor, jedoch hatte ich den Erstellungszeitpunk unvorteilhafter Weise aus den Dateisystem-Metadaten1 ausgelesen. Nach der Neuinstallation meines servers vor ein paar Jahren waren diese Metadaten vollends verloren.

Meine erste Idee war zu versuchen die Zeitpunkte anhand der Email Newsletter zu rekonstruieren. Auf diesem Wege versprach ich mir jedoch keinen baldigen Erfolg da mein eigenes Email Archiv nicht soweit zurueckreicht.

Zu meiner grossen Freude war letztendlich gar keine aufwaendige Archeologie notwendig, da ich damals ausversehen einmal meinen Blog Index in git eingecheckt hatte.

$ git show b1cf78b7182f0364343d2a87a1b361e7dc833688^1:data/indexes/post.json

Und schon hattte ich die ganze Suppe (sogar vollstaendig) in einem maschinenlesbaren Format.

Ein wenig python verwandelte das Ganze in das neue Blog format.

import sys
import json
import datetime

with open(sys.argv[1], "r") as f:
    data = json.load(f)

    for post in data:
        export_name = (post["content"]).split("/")[-1][:-5]
        with open(post["content"][1:], "r") as cont:
            content = cont.read()
        date = datetime.datetime.strptime(post["created"], "%Y-%m-%dT%H:%M:%S.%fZ")
        print(
            f"""
*** {post["title"]}
:PROPERTIES:
:EXPORT_FILE_NAME: {export_name}
:EXPORT_DATE: [{date}]
:END:
{content}""")

Und damit koennt ihr nun unter Neuseeland die alten posts lesen.


  1. ctime, creation time ↩︎