IronLanguages / main

Work for this repo has moved to https://github.com/IronLanguages/ironpython2
1.16k stars 347 forks source link

Implement pyexpat module #393

Open ironpythonbot opened 9 years ago

ironpythonbot commented 9 years ago

When trying to use the Parse function from xml.dom.minidom I got the next message:
can't import expatbuilder from xml.dom

Work Item Details

Original CodePlex Issue: Issue 20023 Status: Active Reason Closed: Unassigned Assigned to: slide_o_mix Reported on: Dec 1, 2008 at 8:32 PM Reported by: zacnoam Updated on: Nov 7 at 10:52 AM Updated by: tcalmant

Plaintext Attachments

CodePlex Issue #20023 Plain Text Attachments

ironpythonbot commented 9 years ago

On 2009-01-27 03:41:34 UTC, harrypierson commented:

Currently, there is no IPy implementation of pyexpat module, which expatbuilder depends on. Changing the name of this issue to reflect the need to implement pyexpat

ironpythonbot commented 9 years ago

On 2009-01-28 08:57:02 UTC, jdhardy commented:

FePY includes a mostly-complete implementation that has worked for my purposes.

ironpythonbot commented 9 years ago

On 2009-02-02 13:37:31 UTC, j2uiles commented:

Need to be able to parse strings to DOM.

ironpythonbot commented 9 years ago

On 2009-05-01 03:57:45 UTC, dhgoldman commented:

I'm trying to migrate my CPython scripts to IronPython, but any script that uses xml.dom.minidom explodes at the "parseString" method. Any chance of these getting fixed in the near future?

ironpythonbot commented 9 years ago

On 2010-03-13 06:18:14 UTC, judell commented:

This is working for me in the standard IronPython 2.6's included Lib

Put the FePy versions of expatbuilder.py and pyexpat.py into Lib/xml/dom

Note: The version of expatbuilder.py I found had stuff like:

class FilterVisibilityController(NewStyle):

I had to change these to:

class FilterVisibilityController()

Put the FePy version of expat.py into Lib/xml/parsers

ironpythonbot commented 9 years ago

On 2010-07-09 07:10:49 UTC, judell commented:

I just did this in another environment. CPython is in c:/python26, and IronPython is in :c:/program files/ironpython 2.6"

Take https://fepy.svn.sourceforge.net/svnroot/fepy/trunk/lib/pyexpat.py, rename to expat.py, place in c:/program files/ironpython 2.6/lib/xml/parsers Copy c:/python26/lib/xml/dom/expatbuilder.py to c:/program files/ironpython 2.6/lib/xml/dom

ironpythonbot commented 9 years ago

On 2011-08-31 23:44:49 UTC, jdhardy commented:

I've attached the partial implementation from FePy for anyone who wants to use it.

ironpythonbot commented 9 years ago

On 2012-05-22 23:55:58 UTC, slide_o_mix commented:

Initial implementatiton in 8446d8b

tarunlalwani commented 9 years ago

@ironpythonbot , any chances this will be added to the main release?

jdhardy commented 9 years ago

It's not a complete implementation, unfortunately, which is probably worse than not including one at all. Doing it exactly right probably means wrapping the C Expat library.

On Thu, Jul 9, 2015 at 2:02 AM, Tarun Lalwani notifications@github.com wrote:

@ironpythonbot https://github.com/ironpythonbot , any chances this will be added to the main release?

— Reply to this email directly or view it on GitHub https://github.com/IronLanguages/main/issues/393#issuecomment-119880818.

slide commented 9 years ago

Wrapping the C library doesn't sound very cross platform friendly...

On Thu, Aug 6, 2015 at 9:46 PM Jeff Hardy notifications@github.com wrote:

It's not a complete implementation, unfortunately, which is probably worse than not including one at all. Doing it exactly right probably means wrapping the C Expat library.

On Thu, Jul 9, 2015 at 2:02 AM, Tarun Lalwani notifications@github.com wrote:

@ironpythonbot https://github.com/ironpythonbot , any chances this will be added to the main release?

— Reply to this email directly or view it on GitHub <https://github.com/IronLanguages/main/issues/393#issuecomment-119880818 .

— Reply to this email directly or view it on GitHub https://github.com/IronLanguages/main/issues/393#issuecomment-128594841.

jdhardy commented 9 years ago

Well, we could just load the system one on Linux/MacOS and use and embedded one on Windows (store as a resource, load 32/64 bit as appropriate). The mobile platforms get a bit weirder but should be supportable as well (not that those are well supported anyway). I have thoughts on how to do this but just not the time to actually implement them. :(

On Thu, Aug 6, 2015 at 10:02 PM, Alex Earl notifications@github.com wrote:

Wrapping the C library doesn't sound very cross platform friendly...

On Thu, Aug 6, 2015 at 9:46 PM Jeff Hardy notifications@github.com wrote:

It's not a complete implementation, unfortunately, which is probably worse than not including one at all. Doing it exactly right probably means wrapping the C Expat library.

On Thu, Jul 9, 2015 at 2:02 AM, Tarun Lalwani notifications@github.com wrote:

@ironpythonbot https://github.com/ironpythonbot , any chances this will be added to the main release?

— Reply to this email directly or view it on GitHub < https://github.com/IronLanguages/main/issues/393#issuecomment-119880818 .

— Reply to this email directly or view it on GitHub <https://github.com/IronLanguages/main/issues/393#issuecomment-128594841 .

— Reply to this email directly or view it on GitHub https://github.com/IronLanguages/main/issues/393#issuecomment-128597894.