Python og WordPress

The Nusse Conglomerate har behov for at kunne automatisere hvad der ligger på en given side.

Mere præcist, jeg har brug for at lade diverse scripts, af typen internet-of-things, uploade data til nettet, og trække det ned igen.

Det kan gøres på mange måder, men af ideosynkratiske årsager, ønsker jeg at det skal spille sammen med WordPress. Så det kommer det til, come hell or high water.

Jeg er nået til at få uploadet data. Og efterfølgende også redigere det. Det gøres således:

import datetime, xmlrpclib
wp_url = “http://www.geekhome.dk/xmlrpc.php”
wp_username = “Her står brugernavnet”
wp_password = “Nej, jeg skriver nok ikke mit password her…”
wp_blogid = “”
status_draft = 0
status_published = 1
post_type=’page’

server = xmlrpclib.ServerProxy(wp_url)

print datetime.time()

title = “Title with spaces”
content = “Nu voldsomt redigeret”
#date_created = xmlrpclib.DateTime(datetime.datetime.strptime(“2011-10-20 21:08”, “%Y-%m-%d %H:%M”))
categories = [“category here”]
tags = [“sometag”, “othertag”]
data = {‘title’: title, ‘description’: content, ‘categories’: categories, ‘mt_keywords’: tags, ‘post_type’: post_type}

post_id = server.metaWeblog.editPost(wp_blogid, wp_username, wp_password, data, status_published)

Godt så. Det her er måden at redigere det på. Det kræver at man lige fortæller hvilket ID siden har (post_type fortæller at det er en page). Vi kunne kalde den for 42.

Skal siden derimod oprettes, er det newPost der skal stå i serverkaldet. Og er det et blogindlæg kan man fjerne post_type helt – det er som standard blogindlæg der oprettes på denne måde. Datoen er her udkommenteret. Den kan også sættes.

Det var første trin, jeg kan nu få et pythonscript til at oprette og ændre i en side på wordpress. Næste trin er at få trukket data ud af en given side.

Vaseline

Nej! Det er ikke en opfølger på mit forsøg på at tiltrække trafik ved at skrive sexstarz på min hjemmeside (hov – nu gjorde jeg det igen. Håber ikke Lars Løkke ser billedet længere nede). Blot en afløber af en, som sædvanlig fugtig, aften i Kælderbaren. Ordet vaseline stammer ikke fra en lang række af vaser. Det stammer, i følge Politikens altvidende Oplysning, fra: “[..]det tyske ord for vand: Wasser, sat sammen med ‘el’, der er græsk for olie. Og så er der til sidst kommet ‘-in’ på.” Så skulle det lissom være sat på plads.

Vaseline

Nej! Det er ikke en opfølger på mit forsøg på at tiltrække trafik ved at skrive sexstarz på min hjemmeside (hov – nu gjorde jeg det igen. Håber ikke Lars Løkke ser billedet længere nede). Blot en afløber af en, som sædvanlig fugtig, aften i Kælderbaren. Ordet vaseline stammer ikke fra en lang række af vaser. Det stammer, i følge Politikens altvidende Oplysning, fra: “[..]det tyske ord for vand: Wasser, sat sammen med ‘el’, der er græsk for olie. Og så er der til sidst kommet ‘-in’ på.” Så skulle det lissom være sat på plads.

Vaseline

Nej! Det er ikke en opfølger på mit forsøg på at tiltrække trafik ved at skrive sexstarz på min hjemmeside (hov – nu gjorde jeg det igen. Håber ikke Lars Løkke ser billedet længere nede). Blot en afløber af en, som sædvanlig fugtig, aften i Kælderbaren. Ordet vaseline stammer ikke fra en lang række af vaser. Det stammer, i følge Politikens altvidende Oplysning, fra: “[..]det tyske ord for vand: Wasser, sat sammen med ‘el’, der er græsk for olie. Og så er der til sidst kommet ‘-in’ på.” Så skulle det lissom være sat på plads.

Vaseline

Nej! Det er ikke en opfølger på mit forsøg på at tiltrække trafik ved at skrive sexstarz på min hjemmeside (hov – nu gjorde jeg det igen. Håber ikke Lars Løkke ser billedet længere nede). Blot en afløber af en, som sædvanlig fugtig, aften i Kælderbaren. Ordet vaseline stammer ikke fra en lang række af vaser. Det stammer, i følge Politikens altvidende Oplysning, fra: “[..]det tyske ord for vand: Wasser, sat sammen med ‘el’, der er græsk for olie. Og så er der til sidst kommet ‘-in’ på.” Så skulle det lissom være sat på plads.

Katte spiser fugle – get over it

I serien “fjollede patenter” har vi her mulighed for at genere fugleelskere. Katteelskere burde ikke lade sig genere, men de er muligvis ikke meget for at blive mindet om at lille misser er et rovdyr, der gerne vil slå andre dyr ihjel. Anyway, dette patent forsøger at løse et par problemer vi kan identificere os med herhjemme. Fugle larmer som bare pokker, især om morgenen når man prøver at sove. Og husdyr (herunder katte) skal fodres, hvilket er årsagen til at vi ikke har husdyr, selvom vi egentlig gerne ville.

Og hvordan klarer man så det? Man laver en fælde, der fanger småfugle, og giver dem til en sulten kat. Vupti, fuglene fletter næb, og katten bliver fodret. Se selv her.

Breiviks hilsen – hvor kommer den fra?

Breivik er holdt op med at give sin selvkomponerede hilsen, hvor han holder højre, knyttede hånd ind til brystkassen, og derefter strækker armen ud, let løftet, og stadig med knyttet hånd. Det skriver BT, og en masse andre tryksager på nettet.

De skriver også:

Det vides ikke med sikkerhed, hvor hilsenen stammer fra, men det formodes, at Breivik selv har opfundet den.

Det kan godt være BT ikke ved det. Men jeg er ret sikker på at jeg ved hvor den kommer fra. Han skriver selv i sit manifest at han hobbyer og interesser inkluderer science fiction. Han refererer også til et par scifi film i manifestet. I indledningen beskriver han sig selv som “sci-fi enthusiast”. Hvis han er det – så kender han Star Trek.

Hans hilsen ligner til forveksling den måde klingons gør honnør. Det har været mig fuldstændigt umuligt at finde et billede. En beskrivelse kan man dog sagtens finde:

The Klingon salute is done by first striking the chest with the fist and then extending the arm straight out, but the fist is still closed.

Det er sådan i runde træk hvad han gør. Han bilder sig sikkert ind at han repræsenterer de stolte klingonske krigerdyder. Til det kan jeg som trekkie kun bemærke at Worf ikke ville værdige denne p’tach den mindste respekt, men i stedet blot knække nakken på ham, og derefter drikke sin sveskejuice.

I jagten på et billede af en klingon der hilser fandt jeg det her. Det trodser enhver beskrivelse og må opleves:

 

 

 

Fotoprojekt del 2

Warning: Wall of text!

Der er blevet leget lidt med et kamera, en arduino og en loddekolbe siden sidst.

Foreløbige resultater:

Eye-fi fungerer fint. Billederne bliver uploadet som de skal. I forhold til den helt forkromede model, skal der tænkes lidt over et praktisk problem med kortets “uendelig plads” funktion. Kortet uploader automatisk billederne. Det er fint. Det kan også, automatisk, slette billeder når de fylder mere end en bestemt andel af kortets hukommelse. På den måde kan der jo laves en løsning, hvor der aldrig skal slettes billeder, og hvor den eneste udfordring bliver at have plads nok på ens gratis Picasa eller Flickr konto. Problemet er at kortet ikke er designet til denne type brug. Det er meningen at kameraet skal slukkes med jævne mellemrum, gerne en tre gange, for at man er sikker på at der slettes billeder. Problemet er nok begrænset, der er ganske god plads på det, specielt hvis der ikke tages billeder i fuld opløsning. Men ideelt skal der altså findes en måde at slukke kameraet på. Eftersom der også skal tænkes over strømforsyning til det, er det nok til at klare.

Arduino-styringen er ok. Der er lidt bøvl med 7 segment ledden til nedtællingen. Jeg fik både en fælles katode og en fælles anode model med fra Brinck. Helst ville jeg arbejde med fælles katode, men det er fordi jeg har så lidt forstand på elektronik, at jeg foretrækker at tænde en LED ved at sætte en udgang på Arduinoen til høj. Fælles katode ledden fik jeg så brændt af – den kunne ikke tåle 5 V. Overhovedet. Så nu leger jeg med en fælles anode led i stedet. Det er dioder, så jeg skal bare glemme mine ideosynkraiser omkring hvad der bør være plus og minus og sætte udgangene til at være lav i stedet. Samtidig sparer jeg en del modstande, fordi der kun er en anode der skal have sådan en, i stedet for syv. Interessant fact: Sådan en 7 segment led giver en hyletone når den får strøm direkte fra Arduinoen. Hyletonen forsvinder når der sættes en smule modstand ind.

Interfacet mellem Arduino og kamera driller også lidt. Jeg fik NC, ikke NO reedrelæer. Ideen er, at når der er forbindelse mellem jord og spidsen på et 2,5 mm jackstik sat i kameraet, så tager det et billede. Så jord og spids forbindes til relæet. Problemet er at når relæet er NC (normal closed). For så er der forbindelse, indtil jeg sætter strøm på indgangen til relæet. Det kan man kode sig ud af. Men hvis strømmen til arduinoen går, så er forbindelsen åben hele tiden. Og så står kameraet og tager billeder hele tiden. Så jeg skal i Brinck og have et par NO-relæer i stedet.

Så er der hele spørgsmålet om hvilket kamera. Det er nok lidt overkill at sætte et spejlreflekskamera til opgaven, men det er nu engang hvad jeg har lege med derhjemme. På sigt skal det hele nok puttes i en enkelt kasse med hul til linse og så videre. Det betyder at der skal findes et kamera der understøtter Eye-fi kortet, og kan fjernbetjenes. Desværre er fjernudløsning af kameraer med kabel noget der som standard stort set kun findes på spejlreflekskameraer. Så kan man finde kameraer med trådløs udløsning. Det kræver at man piller lidt ved en IR-fjernbetjening, men det kan klares. Man kan også finde et kamera der er så billigt, at man vil gå i gang med skruetrækkeren, og få det åbnet så meget, at der kan loddes ledninger på udløserknappen. Og endelig er der den mulighed som det nok ender med. Man finder et Canon kamera, installerer CHDK på Eye-fi kortet, og starter CHDK op fra kameraet. CHDK er et udviklingsværktøj til at hacke Canon kameraer, og gør det bl.a. muligt at bygge sin egen USB-baserede fjernudløser. Når den rigtige funktion er valg, smider man et USB stik i kameraet, sætter strøm til de to rigtige ledninger i USB-kablet, og så tager kameraet et billede.

Udfordringen lige nu, bortset fra at der skal hente et par hardware dele i Brinck, er derfor at få indkøbt et kamera, der har en firmware er understøttes af CHDK, og at få CHDK til at boote op på kameraet fra et Eye-fi kort når kameraet tændes. Det sidste er vist ikke helt trivielt, hvis man vil have den uendelige plads på kortet. Nu skulle ordregiver også snart have nogen penge til at betale med…

En joke :)

How many aspies does it take to change a light bulb…

hmm…… I wonder what the origin of the light bulb joke is? (opens new browser window and does google search: “light bulb joke history” .. opens relevant web page and reads history … opens fifteen more relevant pages in new tabs until certain the basic information contained in first page is accurate .. creates bookmark folder entitled “light bulb jokes” inside “games” folder on bookmark toolbar … changes mind, moves folder into “obscure” folder in “reference” folder of bookmark toolbar … spends three hours finding lists of light bulb jokes, cutting and pasting into word document … spends ten minutes editing grammar and spelling in said jokes … spends forty-five minutes organizing jokes by category … changes all jokes in document to same font … returns to thread and reloads page … re-reads previous posts … )

What was the question?