This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2007年11月21日 14:03 by ygale, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| test_prepare_input_source.py | ygale, 2008年02月24日 14:06 | Almost full set of tests for prepare_input_source() | ||
| Messages (7) | |||
|---|---|---|---|
| msg57737 - (view) | Author: Yitz Gale (ygale) | Date: 2007年11月21日 14:03 | |
In the documentation for xml.sax.xmlreader.InputSource objects (section 8.12.4 of the Library Reference) we find that users of InputSource objects should use the following sequence to get their input data: 1. If the InputSource has a character stream, use that. 2. Otherwise, if the InputSource has a byte stream, use that. 3. Otherwise, open a URI connection to the system ID. prepare_input_source() skips step 1. This is a one-line fix in Lib/xml/sax/saxutils.py: - if source.getByteStream() is None: + if source.getCharacterStream is None and source.getByteStream() is None: |
|||
| msg57749 - (view) | Author: Yitz Gale (ygale) | Date: 2007年11月22日 09:38 | |
Oops, obvious typo, sorry: - if source.getByteStream() is None: + if source.getCharacterStream() is None and source.getByteStream() is None: |
|||
| msg62808 - (view) | Author: A.M. Kuchling (akuchling) * (Python committer) | Date: 2008年02月23日 20:37 | |
Could you please provide a simple little test case for the bug? I'd like to add a test when I commit the change, but you can probably boil the problem down into a test faster than I can. |
|||
| msg62902 - (view) | Author: Yitz Gale (ygale) | Date: 2008年02月24日 14:06 | |
Sure. Here is a simple test case: def testUseCharacterStream(self): '''If the source is an InputSource with a character stream, use it.''' src = xml.sax.xmlreader.InputSource(temp_file_name) src.setCharacterStream(StringIO.StringIO(u"foo")) prep = xml.sax.saxutils.prepare_input_source(src) self.failIf(prep.getCharacterStream() is None, "ignored character stream") If "temp_file_name" is omitted, you'll get an AttributeError, and if you put it in but the file doesn't exist, you'll get an IOError. I'm attaching an almost full set of tests. It omits the case of a URL. You can easily put that in if you have a handy function that converts a file path to a file URL, with all the fidgety stuff you need for Windows. (Does that already exist somewhere?) Unfortunately, I now see that the problem is a bit deeper than this. There are two more related bugs that need to be fixed before this really works. See #2174 and #2175. |
|||
| msg107425 - (view) | Author: Terry J. Reedy (terry.reedy) * (Python committer) | Date: 2010年06月09日 22:02 | |
Are this and the other issues still problems in 2.7 (rc out now) and 3.1? |
|||
| msg116791 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2010年09月18日 15:06 | |
There's a one line patch in msg57749 and some unit tests are attached so would a committer take a look please. Also note that #2174 and #2175 are related. |
|||
| msg239938 - (view) | Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) | Date: 2015年04月02日 18:09 | |
Fixed in issue2175. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:28 | admin | set | github: 45824 |
| 2015年04月02日 18:09:58 | serhiy.storchaka | set | status: open -> closed resolution: out of date messages: + msg239938 stage: patch review -> resolved |
| 2014年12月31日 16:21:04 | akuchling | set | nosy:
- akuchling |
| 2014年02月03日 18:41:31 | BreamoreBoy | set | nosy:
- BreamoreBoy |
| 2013年01月31日 10:03:46 | serhiy.storchaka | set | dependencies: + Expat parser parses strings only when XML encoding is UTF-8 |
| 2013年01月16日 18:25:58 | serhiy.storchaka | set | assignee: serhiy.storchaka nosy: + serhiy.storchaka |
| 2010年11月12日 21:04:04 | akuchling | set | assignee: akuchling -> (no value) |
| 2010年09月18日 15:06:35 | BreamoreBoy | set | nosy:
+ BreamoreBoy messages: + msg116791 type: behavior stage: patch review |
| 2010年06月09日 22:02:11 | terry.reedy | set | nosy:
+ terry.reedy messages: + msg107425 versions: + Python 3.1, Python 2.7, Python 3.2, - Python 2.5 |
| 2008年03月20日 02:40:53 | jafo | set | priority: normal assignee: akuchling |
| 2008年02月24日 14:06:49 | ygale | set | files:
+ test_prepare_input_source.py messages: + msg62902 |
| 2008年02月23日 20:37:53 | akuchling | set | nosy:
+ akuchling messages: + msg62808 |
| 2007年11月22日 09:38:37 | ygale | set | messages: + msg57749 |
| 2007年11月21日 14:03:15 | ygale | create | |