| 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. |