Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #5537

pythonwebkit-gtk, pythonwebkit-dfb

Path csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!feeder.news-service.com!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail
Return-Path <luke.leighton@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.002
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'python,': 0.01; 'anyway': 0.03; 'python.': 0.05; '*not*': 0.05; 'javascript,': 0.05; 'python:': 0.05; 'css': 0.07; 'url:gnu': 0.07; 'python': 0.07; 'ajax,': 0.09; 'canvas': 0.09; 'myself,': 0.09; 'received:mail- bw0-f46.google.com': 0.09; 'throw': 0.09; 'url:code': 0.11; 'def': 0.13; 'url:software': 0.14; 'starts': 0.15; '*no*': 0.16; '*real*': 0.16; 'background,': 0.16; 'bindings': 0.16; 'callbacks': 0.16; 'caveats': 0.16; 'disparate': 0.16; 'install".': 0.16; 'install.': 0.16; 'received:209.85.214.46': 0.16; 'style,': 0.16; 'compile': 0.19; 'project,': 0.20; 'programming': 0.20; 'maybe': 0.21; 'doc': 0.23; 'interpreted': 0.23; 'objects': 0.24; 'shape': 0.25; 'expect': 0.26; '(see': 0.26; "i'm": 0.26; 'object': 0.27; 'work.': 0.27; 'message- id:@mail.gmail.com': 0.28; 'installed': 0.29; 'etc.)': 0.29; 'installing': 0.29; '"make': 0.31; 'worlds': 0.31; "can't": 0.31; 'perhaps': 0.32; 'import': 0.32; 'to:addr:python-list': 0.32; 'project': 0.32; 'another': 0.32; 'done': 0.32; 'usual': 0.32; 'someone': 0.33; 'created': 0.33; 'bit': 0.33; 'module': 0.33; 'skip:" 10': 0.34; 'got': 0.34; 'there': 0.35; 'full-time': 0.35; 'normally': 0.35; 'yet,': 0.35; 'doing': 0.36; 'properties': 0.36; 'together.': 0.36; 'event': 0.37; 'two': 0.37; 'some': 0.37; 'should': 0.37; 'received:209.85': 0.37; 'exactly': 0.37; 'court': 0.38; 'patch': 0.38; 'received:google.com': 0.38; 'but': 0.38; 'url:google': 0.38; 'url:org': 0.38; 'software': 0.38; 'received:209.85.214': 0.39; 'end': 0.39; 'set': 0.39; 'to:addr:python.org': 0.39; 'received:209': 0.39; 'would': 0.40; "it's": 0.40; 'header:Received:5': 0.40; 'might': 0.40; 'available,': 0.60; 'waiting': 0.61; 'back': 0.61; 'order': 0.61; 'forward': 0.61; 'full': 0.62; 'free': 0.62; 'our': 0.63; 'url:p': 0.63; 'browser': 0.64; 'kindly': 0.65; 'blank': 0.65; 'fund': 0.66; 'preparation': 0.73; 'us.': 0.75; 'partner': 0.76; '0.8': 0.84; 'daughter': 0.84; 'pyjamas': 0.84; 'timer': 0.84; 'trust.': 0.84; 'whopping': 0.84; 'smack': 0.91; 'debt': 0.93; 'story.': 0.93
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=t0p7xO5t9vw/4wC/rxNsDguwe0PifAEu6ZgsY8rdmtk=; b=bzZpzFmbDl55Q7cmI42RWsHyC8sKtQbjfcMJDvWxw8JYyqEiUe2xO68jk8eE+hprlK h9agO8rosRBHjqJ0DdhaWwZ4XDNBZ04h6Xl2aDO5OrQv8Dp6rP2f0oQncbT/MlrE++dn uIW8H5p7UlJsDzSCRZuogEofIWxHfcvDv19Hs=
DomainKey-Signature a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=xHS+cT9lUTkNPFYSfRsfztxBRU6qN56A28C4BjnVR5S/Pqr2a6ZHdUELwiaIXxhUHI eAQEhy07PzvXrWRvVmUlq+067MrV2PiSOq/IjRKbjDeuRexhU2gng7qUfCQK0/O7emcB iKMJUuEA4Jc/QdXnRfCj42P6glxvPi5O3l3iU=
MIME-Version 1.0
Date Tue, 17 May 2011 00:32:12 +0100
Subject pythonwebkit-gtk, pythonwebkit-dfb
From Luke Kenneth Casson Leighton <luke.leighton@gmail.com>
To python-list@python.org
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding quoted-printable
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.12
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.1651.1305588734.9059.python-list@python.org> (permalink)
Lines 58
NNTP-Posting-Host 82.94.164.166
X-Trace 1305588735 news.xs4all.nl 49041 [::ffff:82.94.164.166]:38226
X-Complaints-To abuse@xs4all.nl
Xref x330-a1.tempe.blueboxinc.net comp.lang.python:5537

Show key headers only | View raw


in preparation for a 0.8 release of pyjamas, a bit of work has been
done on pythonwebkit (http://www.gnu.org/software/pythonwebkit) that
makes it easier to compile and install.

pythonwebkit provides full and complete (see caveats below!) bindings
to web browser functionality... in python.  what you would normally
expect to be able to do in javascript "in-browser", you can do EXACTLY
the same thing, in a "declarative" programming style, in python:

import gtk
import pywebkitgtk

url = "http://www.gnu.org/software/pythonwebkit"
wv = pywebkitgtk.WebView(1024,768, url=url)

def _doc_loaded(*args):
    doc = wv.GetDomDocument()
    txt = doc.createTextNode("hello")
    doc.body.appendChild(txt)

wv.SetDocumentLoadedCallback(_doc_loaded)
gtk.main()

yes, that's really python, doing a createTextNode and an appendChild,
*not* javascript.  not interpreted javascript, not interpreted python,
*real* python, byte-coded and everything.  throw in some AJAX, some
browser event callbacks (onclick etc.) and some web browser timer
callbacks and it all starts to get a bit weird, as two or maybe three
disparate programming worlds that should never really have been
brought together suddenly.. um... well, are brought together.

the bit that's easier about installing pythonwebkit is that it is no
longer necessary to download and patch up the
http://code.google.com/p/pywebkitgtk project in order to use
pythonwebkit.  you can simply do "./autogen.sh" followed by the usual
"make" and "make install".  a new and absolute minimalist python
module is created and installed which will get you a blank window -
just like if you were firing up a python-GTK application or a
python-QT4 application.

anyway - just a bit of an informal not-really-announcement because,
well, it's a side-dependency to the pyjamas project, even if it is a
whopping 20mb one.  those caveats btw are that a) you can't set CSS
properties as if they were python object properties: you have to use
the method "setProperty", duh, and b) there are *no* 2D or 3D SVG
Canvas objects or functions available, yet, because it would take a
good full-time 7 to 10 days to smack the codegenerator into shape and
i'm waiting for someone to step forward and fund that work.  am still
servicing £20,000 in debt and still have to find a way to pay back a
complete stranger who incredibly kindly paid £4,000 in owed rent so
that we did not end up with a County Court Judgement against us.
myself, my partner and our 25 month old daughter still got evicted,
but that's another story.

against this kind of background, perhaps i might be forgiven for not
doing "freebie" free software development, i trust.

l.

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

pythonwebkit-gtk, pythonwebkit-dfb Luke Kenneth Casson Leighton <luke.leighton@gmail.com> - 2011-05-17 00:32 +0100

csiph-web