01:31
<dekiss>
outlook supports cellapding?
01:47
<crocket>
It's weird
01:47
<crocket>
Is it ok to remove table rows using "removeChild" instead of "deleteCell" or "deleteRow" in IE 10?
01:47
<crocket>
Removing rows using "removeChild" seems to lead to errors
01:54
<dekiss>
how to make vertical space in email?
08:22
<Ms2ger>
Happy birthday, Hixie
11:36
<mattaustin>
Hello. I have a strange problem with html5lib 0.999 and python 3.3. If anyone could provide me a hint as to what I'm doing wrong it would be greatly appreciated.
11:37
<mattaustin>
A simple parse of some content works under python 2.7.3, python 3.2, but under 3.3 I just get the html element and empty head and body elements.
11:38
<mattaustin>
The syntax I'm using is: "html5lib.parse(response)". I tried providing the encoding keyword too (encoding='utf-8'), but it didn't make any difference.
11:47
<mattaustin>
Any ideads/hints as to why it would work with Python 3.2 and not 3.3?
11:50
<SimonSapin>
Hi mattaustin
11:50
<SimonSapin>
what is "response"?
11:53
<mattaustin>
Hi SimonSapin
11:54
<mattaustin>
I'm extending FancyURLopener from urllib.request (just urllib in python 2)
11:55
<mattaustin>
creating an instance of it, and then 'response = url_opener.open(url)'
11:55
<mattaustin>
my FancyURLopener subclass just sets a custom user agent, it doesn't do anything else.
11:57
<mattaustin>
SimonSapin: My (ugly) code is at https://github.com/mattaustin/fremantleline/blob/development/fremantleline/api/__init__.py
12:01
<SimonSapin>
mattaustin: this sounds like https://github.com/html5lib/html5lib-python/issues/127
12:02
<SimonSapin>
but 0.999 is supposed to work around it
12:03
<SimonSapin>
mattaustin: what is type(response)?
12:04
<SimonSapin>
and isinstance(response, six.http_client.HTTPResponse)?
12:06
<mattaustin>
SimonSapin: Thanks. Didn't find that bug because I was searching for 3.3 specifically.
12:06
<mattaustin>
<class 'urllib.response.addinfourl'>
12:08
<mattaustin>
isinstance(response, six.moves.http_client.HTTPResponse) is False
12:08
<mattaustin>
(I added in '.moves')
12:08
<SimonSapin>
and isinstance(response.fp, six.http_client.HTTPResponse) is True?
12:08
<SimonSapin>
(right, six.moves)
12:08
<SimonSapin>
note .fp
12:09
<mattaustin>
isinstance(response.fp, six.moves.http_client.HTTPResponse) is True
12:10
<mattaustin>
And, html5lib.parse(response.fp) works :)
12:16
<SimonSapin>
mattaustin: please try this https://github.com/SimonSapin/html5lib-python/commit/3516130660476241bd9e67c2e7faf8bc61bbd0cb
12:25
<mattaustin>
SimonSapin: Tested, and working - thank you :)
12:30
<SimonSapin>
mattaustin: do you have the same name on github?
12:31
<mattaustin>
Yes, https://github.com/mattaustin/
12:40
<SimonSapin>
mattaustin: https://github.com/html5lib/html5lib-python/pull/134
12:45
<mattaustin>
SimonSapin: Great, thanks very much for your help :)
14:34
<gsnedders>
Hixie: Happy birthday!
14:35
<gsnedders>
SimonSapin: This is gonna get really ugly fast. :(
14:35
<gsnedders>
SimonSapin: Really tempted to suggest we ought add a firstChunk argument to the internal classes…
14:36
<SimonSapin>
gsnedders: yes, I’m not very happy with this either
14:36
<SimonSapin>
as there could be more wrappers of this kind
14:36
<SimonSapin>
how would firstChunk work?
14:37
<SimonSapin>
oh, you mean read a chunk and then pass it instead of doing read(0) ?
14:37
<gsnedders>
SimonSapin: Exactly
14:37
<SimonSapin>
I guess that’d work
14:38
<gsnedders>
It's ugly, but it's generic.
14:38
<gsnedders>
Add a comment about the fact it's just there for 20007 so can eventually go.
14:40
<gsnedders>
I don't think there's anything that makes it that bad to do.
14:42
<SimonSapin>
yes, firstChunk sounds better than my accumulation of isinstance
14:43
<gsnedders>
IIRC we did that before someone pointed out read(0) worked.
14:49
<gsnedders>
SimonSapin: If you do this soon I'll try and push a 0.9999 with this and usedEncoding in the next couple of days.
16:08
<Domenic_>
Does anyone else have memories of the disabled attribute working on more than just form controls, or did I dream that?
16:40
<jpwhiting>
MikeSmith: around by chance?
16:41
<MikeSmith>
jpwhiting: yep
16:41
<jpwhiting>
I've got a question about validator.nu, it seems a <p> without matching </p> validates, fine, yet <div> without matching </div> doesn't
16:41
<jpwhiting>
why does <p> without closing tag validate?
16:42
<MikeSmith>
because it's valid
16:42
<jpwhiting>
right, why is it valid though?
16:43
<jpwhiting>
http://w3schools.com/html/html_paragraphs.asp says don't forget the end tag
16:43
<MikeSmith>
it's valid because the spec says it's valid
16:44
<MikeSmith>
don't use w3schools
16:44
<jpwhiting>
which spec? html4? html5 ?
16:44
<MikeSmith>
the html spec
16:45
<MikeSmith>
the current one
16:46
<MikeSmith>
but so did the html4 spec
16:46
<jpwhiting>
ok, good enough for me, thanks
16:49
<MikeSmith>
jpwhiting: the part of the spec that says this is http://www.whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-p-element
16:49
<MikeSmith>
the "tag omission" part
16:50
<MikeSmith>
same for other elements where you can omit the end tag, they'll have a "tag omission" part that says so
16:51
<MikeSmith>
for some elements, you can even omit the start tag
16:51
<jpwhiting>
heh, of course the reference material on w3.org doesn't have that section http://www.w3.org/TR/2012/CR-html5-20121217/grouping-content.html#the-p-element :/
16:51
<MikeSmith>
like, the body element
16:52
<jpwhiting>
ah, nice
17:35
<Domenic_>
hmmm, ommiting the body tag is valid for authors too? not just implementers-must-make-this-work?
17:41
<gsnedders>
Domenic_: Yes.
17:41
<gsnedders>
Domenic_: As is html and head
17:41
<gsnedders>
s/is/are/
17:41
<Domenic_>
fascinating...
17:41
<gsnedders>
http://www.whatwg.org/specs/web-apps/current-work/#syntax-tag-omission lists it all
17:42
<Domenic_>
i guess i should probably do that, seems like a nice loss of redundant stuff
17:42
<gsnedders>
<!doctype html><title>foo</title> tends to be how I start things.
17:42
<Domenic_>
gahgah you just had to link to the crash-your-browser page
17:43
<gsnedders>
Bah, but ctrl+f works so much better on it!
17:43
gsnedders
just permamently keeps it open so only deals with the ~10 seconds it takes to load once every so often
17:43
<gsnedders>
Or just use a better web browser that copes with it better. :P
17:45
<wilhelm>
gsnedders: You forgot charset. (Imperialist scum!)
17:45
<Domenic_>
gsnedders: seems like another use case for letting web pages override the browser's find behavior :P
17:46
<gsnedders>
wilhelm: Nah, that's just set in the HTTP headers for everything by default. ;P
17:46
<gsnedders>
wilhelm: Because non-UTF-8 content doesn't exist around here!
17:46
<wilhelm>
But file://!
17:47
<gsnedders>
Is a diabolical mess and doesn't work as you expect /anyway/.
17:47
<wilhelm>
True.