Der JSON Output von gestern war ein wichtiger Schritt. Ich schaute mir Wikimedia API Demos an, zweifelte allerdings, ob der Aufwand der Komplett-Automation gerechtfertigt ist. Ich brauche neben den Bildern in Originalgröße auch Credits, um lizenkonform zu handeln.
Es gab ein Repo, auch auf Flask Basis – für PHP natürlich mehr. Die Jinja Template Engine ist super, sodass ich da schnell ein paar Resulate für meinen Wiki-Video Generator bekäme. Ich kam nicht schnell genug weiter, fand dann in StackOverflow ein paar Tips auch zu einer inoffiziellen API.
Ein Deutscher hatte den https://lizenzhinweisgenerator.de/ entwickelt (https://github.com/wmde/Lizenzhinweisgenerator). Man sollte die Sache ernst nehmen. Mit einem Bild: https://commons.wikimedia.org/wiki/Commons:FAQ#/media/File:Golden_Gate_Bridge_as_seen_from_Battery_East.jpg kommt raus:
© Frank Schulenburg / CC BY-SA 4.0, Golden Gate Bridge as seen from Battery East, CC BY-SA 4.0
Da war im „author“ Feld eine Menge HTML, sodass Uploader wohl besser wäre:
=IMPORTXML(CONCATENATE("https://tools.wmflabs.org/magnus-toolserver/commonsapi.php?image=",I3), "//uploader")
Falls man den Namen angeben muss, kann ich die Dateiendung entfernen und „_“ in Spaces wandeln. Soweit ist’s noch nicht.
So kam ich an den Author nach einem Bild-Filenamen (in Spreadsheet I2): =IMPORTXML(CONCATENATE("https://tools.wmflabs.org/magnus-toolserver/commonsapi.php?image=",I2), "//author"). Die Lizenz =IMPORTXML(CONCATENATE("https://tools.wmflabs.org/magnus-toolserver/commonsapi.php?image=",I2), "//license[1]") Schon mal cool. Es gibt noch viele andere Tools der Wikimedia Foundation. So müsste ich „nur“ die größten Versionen der Bilder scrapen, in entsprechende Dirs und dann auch pro Spalte einen File-Prefix definieren, damit nexrnder / AE das dann findet. Ein YAML Projektfile wird’s richten.
Experiment mit AE: Hadycam ist schön und gut. Für lange Fahrten wird’s wohl das Camera Morph Script.
Mit YAML kam ich nur schwer voran. Nur eine Ebene key: value ging. Aus einem Spaltenname die Variable per eval für globale Werte zu nutzen, klappte auch nicht. Ich könnte die ganzen File-Prefixes in’s Template direkt schreiben, oder eben eine Spalte im CVS dafür bereit machen. Am Ende ist es wohl am einfachsten images, videos und audio als Prefix im Projekt zu haben und die Assets über Symlinks auf die richtigen Plätze zu verlinken. AE sollte in der Projekt-Directory mit der Suche nach Assets beginnen.
Ich löste das Ding mit prefix-Definitionen pro Asset-Klasse und schrieb das JSON Template nochmals um. Ging erst mal so. Wenn HTML Previews generiert werden, sind Symlinks und wenige Dirs sowieso besser zu managen. Jetzt freue ich mich langsam auf die HTML Previews zum check, bevor es an die AE Templates geht.


0 Responses to “Wikimedia API”