15
0

Accepting request 1138239 from devel:languages:python

- update to 0.9.0:
  * removed legacy implementation of `HierarchicalMachine` from
    the package
  * Bug #551: Fix active state styling in `GraphMachine` (thanks
    @betaboon)
  * Bug #554: Fix issues related to scopes and queueing in
    `HierachicalMachine` (thanks @jankrejci)
  * Bug #568: Reflexive transitions (dest: '=') had not been
    resolved correctly when source was a wildcard (thanks @jnu)
  * Bug #568: HSM did not detect reflexive transitions if src was
    a parent state (thanks @lostcontrol)
  * Bug #569: Fix implicit fallback to `graphviz` when
    `pygraphviz` was not installed (thanks @FridjofAmundsen)
  * Bug #580: Fix `on_timeout` callback resolution when timeout
    had been initialized with `timeout=0` (thanks @Rysbai)
  * Bug #582: Last label in `GraphSupport` was not correctly
    aligned when `show_attributes=True` (thanks @spagh-eddie)
  * Feature: Add pyi stub files for better type hinting. Since
    many functions and constructors allow rather arbitrary
    arguments time will tell whether typing should be strict (and
    cause more mypy issues) or more relaxed (and thus less
    precise).
  * Feature: Reviewed and improved method documentation
  * Feature #549: Add `may` transition check to transitions
    (thanks @artofhuman)
  * Feature #552: Refactored error handling to be able to handle
    `MachineError` in `on_exception` callbacks (thanks @kpihus)
  * Feature: Add `mypy` to test workflow
  * PR #461: Add `Retry` state to supported state stereotypes
    (thanks @rgov)

OBS-URL: https://build.opensuse.org/request/show/1138239
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-transitions?expand=0&rev=12
This commit is contained in:
2024-01-12 22:45:51 +00:00
committed by Git OBS Bridge
5 changed files with 52 additions and 60 deletions

View File

@@ -1,3 +1,50 @@
-------------------------------------------------------------------
Fri Jan 12 08:26:55 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.9.0:
* removed legacy implementation of `HierarchicalMachine` from
the package
* Bug #551: Fix active state styling in `GraphMachine` (thanks
@betaboon)
* Bug #554: Fix issues related to scopes and queueing in
`HierachicalMachine` (thanks @jankrejci)
* Bug #568: Reflexive transitions (dest: '=') had not been
resolved correctly when source was a wildcard (thanks @jnu)
* Bug #568: HSM did not detect reflexive transitions if src was
a parent state (thanks @lostcontrol)
* Bug #569: Fix implicit fallback to `graphviz` when
`pygraphviz` was not installed (thanks @FridjofAmundsen)
* Bug #580: Fix `on_timeout` callback resolution when timeout
had been initialized with `timeout=0` (thanks @Rysbai)
* Bug #582: Last label in `GraphSupport` was not correctly
aligned when `show_attributes=True` (thanks @spagh-eddie)
* Feature: Add pyi stub files for better type hinting. Since
many functions and constructors allow rather arbitrary
arguments time will tell whether typing should be strict (and
cause more mypy issues) or more relaxed (and thus less
precise).
* Feature: Reviewed and improved method documentation
* Feature #549: Add `may` transition check to transitions
(thanks @artofhuman)
* Feature #552: Refactored error handling to be able to handle
`MachineError` in `on_exception` callbacks (thanks @kpihus)
* Feature: Add `mypy` to test workflow
* PR #461: Add `Retry` state to supported state stereotypes
(thanks @rgov)
* Internal: `Machine._identify_callback` has been converted to
instance method from class method
* Internal: `LockedMachine._get_qualified_state_name` has been
converted to instance method from static method
* Internal: Removed `_super` workaround related to dill (see
https://github.com/pytransitions/transitions/issues/236)
* ## 0.8.11 (February 2022)
* Release 0.8.11 is the last 0.8 release and contains fixes for
Python 3.10 compatibility issues
* Bug #559: Rewrote an async test and replaced `setDaemon` with
`daemon` property assignment for thread handling (thanks
@debalance)
- drop transitions-fixpy310.patch (upstream)
-------------------------------------------------------------------
Tue Jan 11 21:26:06 UTC 2022 - Ben Greiner <code@bnavigator.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-transitions
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2019-2021, Martin Hauke <mardnh@gmx.de>
#
# All modifications and additions to the file contributed by third parties
@@ -17,18 +17,14 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
Name: python-transitions
Version: 0.8.10
Version: 0.9.0
Release: 0
Summary: A lightweight, object-oriented Python state machine implementation
License: MIT
Group: Development/Languages/Python
URL: https://github.com/pytransitions/transitions
Source: https://files.pythonhosted.org/packages/source/t/transitions/transitions-%{version}.tar.gz
# PATCH-FIX-UPSTREAM transitions-fixpy310.patch -- gh#pytransitions/transitions#559
Patch0: transitions-fixpy310.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -43,9 +39,6 @@ BuildRequires: %{python_module pycodestyle}
BuildRequires: %{python_module pygraphviz}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module six}
%if %{with python2}
BuildRequires: python2-mock
%endif
# png support for graphviz
BuildRequires: graphviz-gnome
BuildRequires: noto-sans-fonts

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b0385975a842e885c1a55c719d2f90164471665794d39d51f9eb3f11e1d9c8ac
size 1150941

3
transitions-0.9.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2f54d11bdb225779d7e729011e93a9fb717668ce3dc65f8d4f5a5d7ba2f48e10
size 1162948

View File

@@ -1,48 +0,0 @@
Index: transitions-0.8.10/tests/test_async.py
===================================================================
--- transitions-0.8.10.orig/tests/test_async.py
+++ transitions-0.8.10/tests/test_async.py
@@ -130,9 +130,6 @@ class TestAsync(TestTransitions):
self.assertTrue(mock.called)
def test_multiple_models(self):
- loop = asyncio.new_event_loop()
- asyncio.set_event_loop(loop)
-
m1 = self.machine_cls(states=['A', 'B', 'C'], initial='A', name="m1")
m2 = self.machine_cls(states=['A'], initial='A', name='m2')
m1.add_transition(trigger='go', source='A', dest='B', before=self.cancel_soon)
@@ -141,12 +138,13 @@ class TestAsync(TestTransitions):
m1.add_transition(trigger='reset', source='C', dest='A')
m2.add_transition(trigger='go', source='A', dest=None, conditions=m1.is_C, after=m1.reset)
- loop.run_until_complete(asyncio.gather(m1.go(), # should block before B
- self.call_delayed(m1.fix, 0.05), # should cancel task and go to C
- self.call_delayed(m1.check, 0.07), # should exit before m1.fix
- self.call_delayed(m2.go, 0.1))) # should cancel m1.fix
- assert m1.is_A()
- loop.close()
+ async def run():
+ _ = asyncio.gather(m1.go(), # should block before B
+ self.call_delayed(m1.fix, 0.05), # should cancel task and go to C
+ self.call_delayed(m1.check, 0.07), # should exit before m1.fix
+ self.call_delayed(m2.go, 0.1)) # should cancel m1.fix
+ assert m1.is_A()
+ asyncio.run(run())
def test_async_callback_arguments(self):
Index: transitions-0.8.10/transitions/extensions/states.py
===================================================================
--- transitions-0.8.10.orig/transitions/extensions/states.py
+++ transitions-0.8.10/transitions/extensions/states.py
@@ -96,7 +96,7 @@ class Timeout(State):
"""
if self.timeout > 0:
timer = Timer(self.timeout, self._process_timeout, args=(event_data,))
- timer.setDaemon(True)
+ timer.daemon = True
timer.start()
self.runner[id(event_data.model)] = timer
return super(Timeout, self).enter(event_data)