Pyecore-py2

Latest version: v0.9.0

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

Scan your dependencies

Page 5 of 7

0.5.9

++++++++++++

**Bugfixes**

- Fix decoding issue when HttpURI with http-href is used. When a href is used,
the ResourceSet resolver tries to concatenate the path built from the main uri
resource and the href uri fragment. In the case of HttpURI, the concatenation
provided a 'http://abc/http://cde' like uri. The ``normalize()`` method of URI
was spliting on '://' and used unpacking to two vars exactly. With this kind
of uri, it resulted in an exception. This commit fixes this issue using simply
the ``maxsplit`` option from the ``split()`` method.

- Fix issue when ``name`` feature was called as part of descriptor. This error was
simple, the ``name`` feature defined as a static meta-attribute of the
``ENamedElement`` metaclass was overriding the property implementation in the
``EStructuralFeature``. This issue was also preventing from properly monkey
patching pyecore for ``name`` access.

0.5.8

+++++

**Bugfixes**

- Fix issue when multiple undo/redo are performed. Each time an undo is
performed, the command stack top pointer is decremented. It only points to the
command before the last one. Obviously, each time a redo is performed, the
command stack needs to be incremented, and it points to the previously undone
command. The 'redo' method was missing the top stack incrementation.

0.5.7

+++++

**Bugfixes**

- Fix default value for ``EAttribute``. ``EAttribute`` let the ability to express
default values. This value is assigned when an ``EClass`` instance is created.
The ``default_value`` is computed as follow: if the ``EAttribute``'s
``default_value`` is set, this ``default_value`` is returned. If the
default_value of the ``Eattribute`` is not set, then the ``default_value`` of
the ``EAttribute`` associated EDataType is set. This way of computing elements
was not properly used during instance initialization.

**Miscellaneous**

- Fix some examples in the ``README.rst``.

0.5.6

+++++

**Features**

- Add missing ``EDataType`` management in the Acceleo generator.


**Miscellaneous**

- Add missing data type conversion for ``EDataType``.
- Fix once and for all the ``setup.py`` (hopefully).

0.5.5

+++++

**Bugfixes**

- Fix ``__update()`` method in ``EClass`` when many elements are added at once.
This case occurs when ``append()`` is used on an ``EClass`` in order to add
many ``EStructuralFeature``.

- Fix shared content for mutable ``EDataType``. When mutable EDatataypes are
defined (e.g: ``EStringToStringMapEntry``), each default value was pointing to
the same shared value (exactly the same thing that when ``def x(self, n={})``).
The default_value is now computed, if a special attribute is set, the default
value is always created as a new empty value.

- Fix default value for property instances accessed after the instance creation.


**Miscellaneous**

- Add missing ``EFeatureMapEntry``.
- Add missing LICENCE file in dist package.
- Add default value managmeent for 'instanceClass' derived datatypes.

0.5.0

+++++

**Features**

- Add new static metamodel generator (`moltob <https://github.com/moltob>`_
contribution, thanks!). The generator, named `pyecoregen <https://github.com/pyecore/pyecoregen>`_,
is written in full Python/Jinja2 using `pymultigen <https://github.com/moltob/pymultigen>`_ a
framework for multiple files generation. The generator usage is prefered over
the MTL/Acceleo one as it can be launched from the command line directly and
does not requires Java or Java-dependencies to run. The generated code is
also automatically formatted using the ``autopep8`` project.

- Add EMF command support. The EMF command support gives the ability to represent
actions that modify the model as single or composed modification command. There
is 5 existing commands:
* Set,
* Add,
* Remove,
* Delete,
* Compound.

Each command affects the model in a certain way. The main advantage of using
commands over direct modification is the fact that each of these commands can
be undo/redo.

- Add Command Stack support. The Command stack gives the ability to easily schedule
the execution of each commands. It also gives a simpler access to the undo/redo
function of each commands and ensure that they are played/re-played in the
right order.


**Bugfixes**

- Fix handling of 'non-required' parameters for ``EOperations``. When a
parameter is set as 'non-required', the Python translation must consider that
the parameter is defined as an optional named parameter.

- Fix issue with the computation of some internal properties for the ``delete()``
method (the ``_inverse_rels`` set). The current algorithm keep track of each
inverse relationships, and when an element is removed, the old record is
deleted while a new one is added to the record set. The bug was affecting the
registration of the new record during the deletion of the old one.

- Fix ``__update()`` method in ``EClass`` when an object deletion occurs. The
update method deals with notifications to add/remove elements on the fly from
the listened notification. When a REMOVE was notified, the wrong notification
property was accessed resulting in a ``NoneTypeError`` exception.


**Miscellaneous**

- Add ``getEAnnotation()`` method on ``EModelElement``.
- Change 'getargspec' by 'getfullargspec' as it seems that 'getargspec' is
deprecated since Python 3.0 and replaced by 'getfullargspec'.
- Add some performance improvements.
- Add missing ``pop()`` operation for ``EList/EBag``.
- Monkey patch ``insert()/pop()`` methods in ``OrderedSet``.
- Add missing ``staticmethod`` when required.
- Add missing ``*args`` and ``**kwargs`` to the meta-instance creation in
``EClass``. This addition allows the user to create it's own '__init__' method
for dynamic metaclasses using some trickery.

Page 5 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.