Linkkien esikatselu Djangossa

Wednesday, January 20th 2010 at 23:56 in Technology, Django, Python

Leikin hieman python-webkit2png:llä ja tein kotisivujeni Shared Links -osioon esikatselun. Niistä linkeistä, joille esikatselukuva on generoitu, pitäisi kyseisen kuvan tulla näkyviin, kun vie hiiren linkin päälle.

Python-webkit2png käyttää Qt-kirjastoa ja WebKit-moottoria esikatselukuvan renderöintiin. Omat asetukseni generoivat kuvia 800x600 pikselin kokoisella virtuaaliselaimella, jossa ei ole Flashia eikä JavaScriptiä. Sen jälkeen kuvat pienennetään kokoon 400x300, mikä tekee niistä tällä hetkellä hieman kökön näköisiä.

Djangossa tämä operaatio ajetaan cronissa management commandina. Se käy läpi ne linkit, joilla ei vielä ole esikatselukuvaa, ja tallentaa uudet kuvat kunkin linkin ImageField-kenttään. Joillekin linkeille tämä epäonnistuu, koska asetin renderöinnin maksimiajaksi 60 sekuntia, ja maailmalta löytyy edelleen kovin raskaita saitteja, jotka eivät siinä ajassa kerkeä latautua kokonaan.

3 Comments
Heikki Pelkkikangas 21.1.2010 09:59:35

Kiitos tiedosta, juuri mietinkin mistä tällaisen palikan löytäisi :) Jos webbisivu on pitkä, niin osaako tuo skrollata sivua alas ja muodostaa siitä useampia kuvia niin, että koko sivun saisi talteen?

nbr 21.1.2010 10:38:25

Hyvältä näyttää. Pieni, mutta hämmentävä bugi kuitenkin: kun yhteys on vähänkin hitaampi, näkyy linkkien päällä hovereidossa thumbnailina ensin edellinen katsottu thumbnail. Korjaus lienee triviaali.

Kennu 21.1.2010 15:13:20

@Heikki: Tuo python-webkit2png osaa capturoida koko sivun kerralla, kun ei käytä crop-optiota, jota itse käytän näissä.


You can use Markdown to format your comment:

  • > quoted text
  • *italic* text
  • **bold** text
  • `code block` (multi-line is ok, whitespace is preserved)
  • [link text](http://www.google.com "link title")

Separate paragraphs in your text with two newlines