Meld3

Latest version: v2.0.1

Safety actively analyzes 623739 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.6.3

------------------

- Fixed two more memory leaks (one in bfclonehandler, the other in
findmeldhandler) in the c helper module.

0.6.2

------------------

- Fixed a number of memory leaks in the C implementation of the helper
module. Any use of "findmeld", "clone", "getiterator", or "content"
previously leaked references.

0.6.1

------------------

- Allow people to install meld3 without building extension modules.
If the environment variable "NO_MELD3_EXTENSION_MODULES" is set, the
meld3 setup.py file will not build any extension modules. meld3
will still work, only more slowly than if the extension modules
existed.

0.6

----------------

- Fixed crashbug when repeating trees with "structure" nodes in them.
Symptom: bus error. Thanks to Terrence Brannon for the report.

0.5

----------------

- Add 'fillmeldhtmlform' method to nodes.

- Fix obscure parsing bug that arose when attempting to change the
URI used as a "meld id" (do not lowercase).

- Added three methods to element nodes:

write_htmlstring
write_xmlstring
write_xhtmlstring

These methods have the same respective argument lists as their
"write_foo" cousins, except they don't accept a "file" argument.
Instead of writing to a file, they return a string containing the
renderering of the element.

- You can now use the meld3.py module to interactively try out
different renderings. To do this, invoke meld3.py with a filename
and a dotted-python-path name to a mutator function that accepts a
single argument (the root element), e.g.:

python meld3.py sample.html meld3.sample_mutator

The rendering will be sent to stdout

- Remove unused parse method.

- Add __setslice__, __delslice__, remove methods that correctly update
parent pointers.

- Don't call into superclass to do append, insert, __setitem__, etc.

- Internal speedups:

- Avoid function call overhead in various places by inlining code.

- _write_html/_write_xml now accept a callable "write" argument
instead of a file argument (avoid file.write call overhead).

- HTML serializer only calls _escape_cdata/_escape_attrib if necessary
instead of calling it without regard to its need.

- Use string.encode(encoding) instead of calling an _encode function.

- Perform special-case rendering for English-centric encodings
during write_html.

- Ignore things that might be "QNames" during rendering.

- "getiterator", "content", "clone", and "findmeld" now
implemented in a C module. Experimental. Disable via changing
"import cmeld3 as helper" in meld3.py to something like "import
wontbehere".

- Fix text and attribute serialization to only quote ampersands that
aren't already part of entities.

- Do the minimal possible thing to escape text and attribute values during
rendering. For text, this is escaping ampersands that aren't parts of
entities and the less-than (<) character. For attribute values, this is
amps and less-than as well as the quote (") character. This was done
partly because I think the spec allows it but it's also what Kid does,
shrug.

- Change 'diffmeld()' to return a dictionary of dictionaries. The
dictionary returned by diffmeld has the keys 'reduced' and
'unreduced'. the values of both 'reduced' and 'unreduced' is
another dictionary. The leafmost dictionary has the keys 'added',
'removed', and 'moved. In the 'unreduced' dictionary, *all* meld
tags that have been added, removed, or moved are present (this was
the behavior of diffmeld previously). In the 'reduced' dictionary,
the added, removed, and moved values are reduced to the smallest
number of tags which share a common lineage.

- Add a meldprofile.py script.

0.4

----------------

- The clone() method of elements copied neither the text nor the tail
of the element (this is what caused markup created by "repeats" to
fall all on one line).

- Add diffing capability to meld nodes. The file 'melddiff.py' shows an
example of using the diff API.

- Add a 'meldid()' method to elements. This returns None if the element
has no meld id, otherwise it returns the id.

- Add a 'fillmeld(**kw)' method to elements. This does the same thing
as '__mod__' but returns meld ids (the keys of **kw) that cannot be
found anywhere in the tree.

- Make source distro into a distutils-installable package.

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.