1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-04-26 15:09:07 +03:00

79 Commits

Author SHA1 Message Date
Victor Stinner
f42a0524c6 Build the Python extension with PY_SSIZE_T_CLEAN
The Python extension module now uses Py_ssize_t rather than int for
string lengths. This change makes the extension compatible with
Python 3.10.

Fixes #203.
2020-11-19 18:09:22 +01:00
Daniel Veillard
af62eb4fab Python generator bug raised by the const change
the doc methode for xmlDocGetRootElement wasn't generated anymore
2014-10-13 16:40:56 +08:00
Daniel Veillard
6f18465189 A few more fixes for python 3 affecting libxml2.py
need a few changes to the generator and the libxml.py stub
2013-03-30 22:33:06 +08:00
Daniel Veillard
3798c4adbb Fix compilation on Python3
while still compiling on recent Python2:
  - change the handling of files, tweak the generator, get the fd
    instead of the FILE *, dup it and fdopen based on mode, add a
    Release function on Python3 and call to flush from the generated
    python stubs
  - switch to using Capsules instead of CObjects
  - fix PyString to PyBytes
  - fix PyInt to PyLong
  - tweak the module registration to compile on both versions
  - drop PyInstance check for passed xmlNodes and instead check
    attributes presence

Daniel
2013-03-30 22:33:06 +08:00
Daniel Veillard
3cb1ae26ec First pass at starting porting to python3 2013-03-30 22:33:06 +08:00
Alexey Neyman
48da90bc4a Python binding for xmlRegisterInputCallback
It is possible to make xmlIO handle any protocol by means of
xmlRegisterInputCallback(). However, that function is currently only
available in C API. So, the natural solution seems to be implementing Python
bindings for the xmlRegisterInputCallback.

* python/generator.py: skip xmlPopInputCallbacks
* python/libxml.c python/libxml.py python/libxml_wrap.h: implement the
  wrappers
* python/tests/input_callback.py python/tests/Makefile.am: also add a test case
2013-02-25 15:54:25 +08:00
Mike Hommey
10455bb48f Sort python generated stubs
to avoid shuffling each time python changes or on different
architectures
2010-10-15 18:39:50 +02:00
Daniel Veillard
794613770d Fix python generator to not use deprecated xmllib
* python/generator.py: use xml.sax instead, patch based on similar
  fir for libvirt by Cole Robinson <crobinso@redhat.com>
2010-01-13 15:34:50 +01:00
Daniel Veillard
be2bd6ac6f adds element traversal support avoid a warning regenerated daniel
* include/libxml/tree.h tree.c python/generator.py: adds
  element traversal support
* valid.c: avoid a warning
* doc/*: regenerated
daniel

svn path=/trunk/; revision=3804
2008-11-27 15:26:28 +00:00
Daniel Veillard
39801e572a apply patch from Martin fixing python whitespaces following previous
* python/generator.py python/setup.py: apply patch from Martin fixing
  python whitespaces
* NEWS: following previous commit rebuilt now in UTF-8
Daniel

svn path=/trunk/; revision=3746
2008-06-03 16:08:54 +00:00
Daniel Veillard
ed939f8e06 fix a bug introduced when fixing #438208 and reported by Ashwin fix an
* tree.c: fix a bug introduced when fixing #438208 and reported by
  Ashwin
* python/generator.py: fix an infinite loop bug
Daniel

svn path=/trunk/; revision=3733
2008-04-08 08:20:08 +00:00
Daniel Veillard
3b6acc93bf apparently id() sometimes generate negative values and %X outputs -XXXX
* python/generator.py python/libxml.py: apparently id() sometimes
  generate negative values and %X outputs -XXXX :-(
Daniel
2006-12-14 15:49:41 +00:00
Daniel Veillard
ddefe9cccf fixed the conversion of long parameters Daniel
* python/generator.py: fixed the conversion of long parameters
Daniel
2006-08-04 12:44:24 +00:00
Daniel Veillard
8bda20f73c removed a potentially uninitialized variable error fixed a deprecation
* xpath.c: removed a potentially uninitialized variable error
* python/generator.py: fixed a deprecation warning
* python/tests/tstLastError.py: silent the damn test when Okay !
Daniel
2005-08-24 09:36:47 +00:00
Daniel Veillard
95175012ec fixing #307823 and a couple of assorted bugs fixed conditionals in
* testapi.c runsuite.c runtest.c: fixing #307823 and a couple of
  assorted bugs
* python/generator.py python/libxml2-python-api.xml: fixed
  conditionals in generator too
* doc/apibuild.py doc/libxml2-api.xml doc/* elfgcchack.h: some
  cleanups too and rebuilt
Daniel
2005-07-03 16:09:51 +00:00
Daniel Veillard
0e460da346 another patch from Brent Hendricks to add new handlers with the various
* python/generator.py python/libxml.py: another patch from Brent
  Hendricks to add new handlers with the various validity contexts
* python/tests/Makefile.am python/tests/validDTD.py
  python/tests/validRNG.py python/tests/validSchemas.py: also
  added the regression tests he provided
Daniel
2005-03-30 22:47:10 +00:00
Daniel Veillard
bb8502c0ef applied patch from Brent Hendricks to avoid leak in python bindings when
* python/generator.py python/libxml.c: applied patch from Brent
  Hendricks to avoid leak in python bindings when using schemas
  error handlers.
Daniel
2005-03-30 07:40:35 +00:00
Daniel Veillard
25c90c589b try to fix a problem with valgrind. applied memory leak fix from Brent
* Makefile.am doc/examples/Makefile.am python/tests/Makefile.am
  xstc/Makefile.am: try to fix a problem with valgrind.
* python/generator.py python/libxml.c python/tests/Makefile.am
  python/tests/tstmem.py: applied memory leak fix from Brent Hendricks
  c.f. bug #165349
Daniel
2005-03-02 10:47:41 +00:00
Daniel Veillard
2fc6df95cc added a streaming pattern detector for a subset of XPath, should help
* pattern.c include/libxml/pattern.h xmllint.c: added a
  streaming pattern detector for a subset of XPath, should
  help Kasimier for identity constraints
* python/generator.py: applied Stephane Bidoul patch to find
  paths without breaking.
Daniel
2005-01-30 18:42:55 +00:00
William M. Brack
ff349110cc added most required entires to foreign encoding table, plus some
* python/generator.py: added most required entires to
  foreign encoding table, plus some additional logic to
  assure only the 1st param uses the 't#' format.  Fixes
  bug #152286, but may still have some other UTF-16 problems.
2004-12-24 08:39:13 +00:00
William M. Brack
106cad6619 enhanced for enabling build in a different directory. Added (optional)
* Makefile.am, gentest.py: enhanced for enabling build in
  a different directory.  Added (optional) param to gentest.py
  to specify the source directory (bug #155468)
* doc/Makefile.am: changed destination of NEWS from (top_srcdir)
  to (top_builddir) (bug #155468)
* python/Makefile.am, python/generator.py: enhanced for enabling
  build in a different directory(bug #155468).  Added (optional)
  param to generator.py to specify the source directory.  Added
  a new table of functions which have possible "foreign" encodings
  (e.g. UTF16), and code to use python 't' format instead of
  'z' format (mostly solving bug #152286, but still need to
  populate the table).
2004-12-23 15:56:12 +00:00
William M. Brack
dbbcf8e14a modified to allow the ns and nsDefs accessors to return None instead of
* python/generator.py: modified to allow the ns and nsDefs
  accessors to return None instead of error when no namespace
  is present (bug #)
2004-12-17 22:50:53 +00:00
Daniel Veillard
850ce9b658 Applied patch from Brent Hendricks adding support for late DTD validation.
* python/generator.py python/libxml.c python/libxml2class.txt
  python/libxml_wrap.h python/types.c: Applied patch from Brent
  Hendricks adding support for late DTD validation.
* python/tests/Makefile.am python/tests/dtdvalid.py
  python/tests/test.dtd: integrated the provided regression test
Daniel
2004-11-10 11:55:47 +00:00
Daniel Veillard
263ec86a75 applied patch from Malcolm Tredinnick fixing bug #154294 related to saving
* python/generator.py python/libxml.c python/tests/outbuf.py:
  applied patch from Malcolm Tredinnick fixing bug #154294
  related to saving to python file objects.
Daniel
2004-10-04 10:26:54 +00:00
Daniel Veillard
259f0dfa8b Applied patch from Torkel Lyng to add Schemas support to the Python
* xmlschemas.c include/libxml/xmlschemas.h python/generator.py
  python/libxml.c python/libxml_wrap.h python/types.c
  python/tests/schema.py python/tests/Makefile.am: Applied patch
  from Torkel Lyng to add Schemas support to the Python bindings
  and extend the schemas error API, registered a new test.
* doc/* elfgcchack.h: rebuilt to regenerate the bindings
Daniel
2004-08-18 09:13:18 +00:00
William M. Brack
c68d78d25a added a check on the argument for some classes (e.g. xmlDoc and xmlNode)
* python/generator.py: added a check on the argument for some
  classes (e.g. xmlDoc and xmlNode) to prevent a segfault (as
  reported on the list).  Further enhancement should be done
  to auto-create the appropriate object.
* python/libxml.c: minor fix for a warning message; added a
  routine, currently not used, to report the description of a
  PyCObject.
* python/libxml2class.txt: regenerated
2004-07-16 10:39:30 +00:00
Daniel Veillard
f93a866079 applied patch from Stphane Bidoul to fix some Python bindings
* python/libxml.c python/generator.py python/libxml.py
  python/libxml2-python-api.xml python/libxml2class.txt:
  applied patch from Stphane Bidoul to fix some Python bindings
  initialization, then had to change the parserCleanup()
  to handle memory released there.
* xmlmemory.c: added more debugging comments.
Daniel
2004-07-01 12:56:30 +00:00
Daniel Veillard
d69cc8174e do not provide functions used as destructor of classes as public methods
* python/generator.py: do not provide functions used as destructor
  of classes as public methods to avoid double-free problem like
  in bug #145185
Daniel
2004-07-01 09:36:26 +00:00
Daniel Veillard
656ce948ab Fixed bug #141529 i.e. various problems when building with --without-html
* xmllint.c xmlsave.c python/generator.py python/libxml.c: Fixed
  bug #141529 i.e. various problems when building with --without-html
Daniel
2004-04-30 23:11:45 +00:00
Daniel Veillard
4f4a27f970 applied patch from Stephane Bidoul to add enums to the Python bindings.
* python/generator.py python/tests/tstLastError.py: applied
  patch from Stephane Bidoul to add enums to the Python bindings.
Daniel
2004-01-14 23:50:34 +00:00
Daniel Veillard
46da46493f applied patch from Stephane Bidoul for structured error handling from
* python/libxml2-python-api.xml python/libxml_wrap.h python/types.c
  python/tests/Makefile.am python/tests/tstLastError.py: applied
  patch from Stephane Bidoul for structured error handling from
  python, and the associated test
Daniel
2004-01-06 22:54:57 +00:00
William M. Brack
f7eb794c14 fixed problem pointed out by Stphane Bidoul on the list. completed
* python/generator.py, python/libxml2class.txt: fixed problem
  pointed out by Stphane Bidoul on the list.
* xinclude.c, xpointer.c, xpath.c, include/libxml/xpointer.h:
  completed modifications required to fix Bug 129967 (at last!).
  Now wait to see how long before further trouble...
2003-12-31 07:59:17 +00:00
Daniel Veillard
6cbd6c0738 cleanup the output buffer support to at least get the basic to work fixes
* python/generator.py python/libxml.c python/libxml_wrap.h:
  cleanup the output buffer support to at least get the basic
  to work
* python/tests/outbuf.py python/tests/serialize.py: fixes and
  cleanup.
* include/libxml/xmlwriter.h: cleanup
Daniel
2003-12-04 12:31:49 +00:00
William M. Brack
ea939087b9 enhanced for range checking, updated to Unicode version 4.0.1 (API docs
* genUnicode.py, xmlunicode.c, include/libxml/xmlunicode.h,
  python/libxml2class.txt: enhanced for range checking,
  updated to Unicode version 4.0.1 (API docs also updated)
* python/generator.py: minor change to fix a warning
2003-11-09 12:45:26 +00:00
William M. Brack
6bf4d6fd3e small enhancement to assure ATTRIBUTE_UNUSED appears after the variable
* python/generator.py: small enhancement to assure ATTRIBUTE_UNUSED
  appears after the variable declaration.
* valid.c: trivial change to eliminate a warning message
2003-11-04 23:29:16 +00:00
Daniel Veillard
198c1bfc1c removing xmldwalk module since it got merged with the xmlreader. cleanup
* Makefile.am configure.in xmldwalk.c xmlreader.c
  include/libxml/Makefile.am include/libxml/xmldwalk.h
  include/libxml/xmlversion.h.in: removing xmldwalk module
  since it got merged with the xmlreader.
* parser.c: cleanup
* win32/libxml2.def.src python/libxml2class.txt doc/libxml2-api.xml:
  rebuilt the API
* python/tests/Makefile.am python/tests/reader7.py
  python/tests/walker.py: adding regression testing for the
  new xmlreader APIs, new APIs for reader creation, including
  makeing reader "walker" operating on preparsed document trees.
Daniel
2003-10-20 17:07:41 +00:00
William M. Brack
a71a8ef127 further small changes to elminate most of the remaining warnings.
* error.c trionan.[ch] testThreads.c python/generator.py:
  further small changes to elminate most of the remaining
  warnings.
2003-08-06 04:43:55 +00:00
Daniel Veillard
c266464174 patch from Joachim Bauch + cleanup for Relax NG error callbacks in python
* python/generator.py python/libxml.c python/libxml2class.txt:
  patch from Joachim Bauch + cleanup for Relax NG error callbacks
  in python
Daniel
2003-07-29 20:44:53 +00:00
Daniel Veillard
2b32e6f34c fixed a problem in the generator where the way functions are remapped as
* python/generator.py: fixed a problem in the generator where
  the way functions are remapped as methods on classes was
  not symetric and dependant on python internal hash order,
  as reported by Stphane Bidoul
Daniel
2003-04-26 12:03:54 +00:00
Daniel Veillard
febcca40d4 more bug-hunting added --tree to dump the intermediate rng tree patch from
* relaxng.c: more bug-hunting
* testRelax.c include/libxml/relaxng.h: added --tree to dump the
  intermediate rng tree
* python/generator.py: patch from Stephane Bidoul to fix the generator
  on python < 2.2
Daniel
2003-02-16 15:44:18 +00:00
Daniel Veillard
591b4be0fe fixed doc comment problems adding RelaxNG wrappers added a specific test
* xpath.c: fixed doc comment problems
* python/generator.py python/libxml_wrap.h python/types.c: adding
  RelaxNG wrappers
* python/tests/Makefile.am python/tests/relaxng.py: added a specific
  test of those early Python RelaxNG bindings
Daniel
2003-02-09 23:33:36 +00:00
Daniel Veillard
71531f3345 comments cleanups use xmllint for doing the RelaxNG tests preparing 2.5.2
* HTMLparser.c tree.c xmlIO.c: comments cleanups
* Makefile.am: use xmllint for doing the RelaxNG tests
* configure.in: preparing 2.5.2 made schemas support default to
  on instead of off
* relaxng.c: removed the verbosity
* xmllint.c: added --relaxng option
* python/generator.py python/libxml_wrap.h: prepared the integration
  of the new RelaxNG module and schemas
* result/relaxng/*: less verbose output
Daniel
2003-02-05 13:19:53 +00:00
Daniel Veillard
ff12c494f7 seems there is no good reasons to not generate bindings for XPointer
* python/generator.py: seems there is no good reasons to
  not generate bindings for XPointer
Daniel
2003-01-23 16:42:55 +00:00
Daniel Veillard
417be3ae08 patch from Stphane Bidoul for better per context error message APIs
* xmlreader.c python/drv_libxml2.py python/generator.py
  python/libxml.c python/libxml.py python/libxml_wrap.h
  python/types.c: patch from Stphane Bidoul for better per
  context error message APIs
* python/tests/ctxterror.py python/tests/readererr.py:
  update of the tests
Daniel
2003-01-20 21:26:34 +00:00
Daniel Veillard
26f70269c8 applied a patch from Stphane Bidoul to allow per XMLtextReader error and
* xmlreader.c include/libxml/xmlreader.h python/generator.py
  python/libxml.c python/libxml.py win32/libxml2.def.src: applied
  a patch from Stphane Bidoul to allow per XMLtextReader error
  and warning handling
* python/tests/Makefile.am python/tests/readererr.py: adding the
  specific regression test
Daniel
2003-01-16 22:45:08 +00:00
Daniel Veillard
e6227e0549 applied and fixed a patch from Stephane Bibould to provide per parser
* python/generator.py python/libxml.c python/libxml.py
  python/libxml_wrap.h python/types.c: applied and fixed a patch
  from Stephane Bibould to provide per parser error handlers at the
  Python level.
* python/tests/Makefile.am python/tests/ctxterror.py: added a
  regression test for it.
Daniel
2003-01-14 11:42:39 +00:00
Daniel Veillard
3b87b6b398 fixed a bug raised by Raymond Wiker, docSetRootElement() should not raise
* python/generator.py: fixed a bug raised by Raymond Wiker,
  docSetRootElement() should not raise an exception if the
  return is None
Daniel
2003-01-10 15:21:50 +00:00
Daniel Veillard
dc85f28f66 modified the generator to allow keeping class references when creating new
* python/generator.py: modified the generator to allow keeping
  class references when creating new classes, needed to fix a bug
  pointed by Stphane Bidoul where the input buffer of the
  xmlTextReader instance gets destroyed if the python wrapper for
  the input is not referenced anymore.
Daniel
2002-12-31 11:18:37 +00:00
Daniel Veillard
aba976d825 changed the generator to provide casing for the XmlTextReader similar to
* python/generator.py python/libxml2class.txt
  python/tests/reader.py python/tests/reader2.py: changed the
  generator to provide casing for the XmlTextReader similar to
  C# so that examples and documentation are more directly transposable.
  Fixed the couple of tests in the suite.
Daniel
2002-12-28 21:14:18 +00:00
Daniel Veillard
0eb38c7259 added the close and getattribute methods of XmlTextReader. added the
* xmlreader.c doc/libxml2-api.xml: added the close and getattribute
  methods of XmlTextReader.
* python/generator.py python/libxml_wrap.h python/types.c
  python/libxml2class.txt: added the reader to the Python bindings
* python/tests/Makefile.am python/tests/reader.py: added a specific
  test for the Python bindings of the Reader APIs
* parser.c: small cleanup.
Daniel
2002-12-14 23:00:35 +00:00